Git Product home page Git Product logo

Comments (10)

CwRv07 avatar CwRv07 commented on August 15, 2024 9
Array.prototype._map = function (cb, thisBinding) {
  // 排除回调非函数情况
  if (typeof cb !== "function") {
    throw new TypeError(`${cb} is not a function`);
  }
  // 排除this为非可迭代对象情况
  if (this == null || typeof this[Symbol.iterator] !== "function") {
    throw new TypeError(`${this} is not a iterable`);
  }
  // 将可迭代对象转换成数组
  const array = [...this];
  const result = [];
  // 执行遍历并回调
  for (let i = 0; i < array.length; i++) {
    result.push(cb.call(thisBinding, array[i], i, this));
  }
  return result;
};

from js-challenges.

veneno-o avatar veneno-o commented on August 15, 2024
Array.prototype._map = function (callback, objThis) {
	if (typeof callback !== "function") {
		throw new TypeError("callback type error!");
	}

	const res = [];
	for (let i = 0; i < this.length; ++i) {
		res.push(callback.call(objThis, this[i], i, this));
	}
	return res;
};

from js-challenges.

sv-98-maxin avatar sv-98-maxin commented on August 15, 2024
Array.prototype.myMap = function (cb) {
  const newArr = []
  for (let i = 0, len = this.length; i < len; i++) {
    newArr.push(cb(this[i], i, this))
  }
  return newArr
}

from js-challenges.

bearki99 avatar bearki99 commented on August 15, 2024
Array.prototype.map = function (callback) {
  const res = [];
  for (let i = 0; i < this.length; i++) {
    res.push(callback(this[i], i, this));
  }
  return res;
};

from js-challenges.

kangkang123269 avatar kangkang123269 commented on August 15, 2024
Array.prototype.map = function(callback, thisArg) {
  var result = [];
  for (var i = 0; i < this.length; i++) {
    result.push(callback.call(thisArg, this[i], i, this));
  }
  return result;
}

from js-challenges.

LifeIsTerrible avatar LifeIsTerrible commented on August 15, 2024
Array.prototype._map = function (cb) {
    let res = []
    if (Array.isArray(this)) return
    for (let i = 0; i <= this.length; i++) {
        res.push(cb(this[i], i, this))
    }
    return res
}

from js-challenges.

YMnotafraid avatar YMnotafraid commented on August 15, 2024
Array.prototype.mymap = function (callback, thisArg) {
  const res = [];
  for (let i = 0; i < this.length; i++) {
    res.push(callback.call(thisArg, this[i], i, this));
    //回调函数默认的this为undefined,thisArg作为回调函数的this
  }
  return res;
};
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
console.log(
  arr1.mymap(function (item, index, arr) {
    return 2 * this[index];
  }, arr2)
); //[ 8, 10, 12 ]

from js-challenges.

Bbbtt04 avatar Bbbtt04 commented on August 15, 2024
Array.prototype.map = function (cb) {
  const res = []
  for (let i = 0; i < this.length; i++) {
    res.push(cb(this[i], i, this))
  }
  return res
}
let arr = [1, 2, 3]
let res = arr.map((item, index, arr) => {
  return item + 1
})
console.log(res);

from js-challenges.

cay-cospete avatar cay-cospete commented on August 15, 2024
Array.prototype._map = function(cb) {
  const result = [];
  for(let i=0; i<this.length; i++) {
    result.push(cb(this[i], i, this))
  }
  return result;
}

from js-challenges.

cscty avatar cscty commented on August 15, 2024
Array.prototype.Map = function (fn) {
                let res = [];
                this.forEach(function (val, key) {
                    res.push(fn(val, key));
                });
                return res;
            };

from js-challenges.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.