龙空技术网

JavaScript数组map、every和some 方法的实现

milesmatheson 64

前言:

眼前我们对“js数组的some方法”大体比较讲究,姐妹们都需要了解一些“js数组的some方法”的相关内容。那么小编也在网摘上搜集了一些有关“js数组的some方法””的相关资讯,希望你们能喜欢,大家快快来了解一下吧!

1、map的实现

Array.prototype.myMap = function (callback) {        const len = this.length;        const res = [];        if (len > 0) {            for (let i = 0; i < len; i++) {                  res.push(callback(this[i], i));             }         }        return res;};const arr = [          { a: 1, b: 2, c: 3, d: 4 },          { a: 5, b: 6, c: 7, d: 8 },          { a: 9, b: 10, c: 11, d: 12 },];const mapRes = arr.myMap((item, index) => item.d);console.log(mapRes); // [4, 8, 12]

2、some的实现

Array.prototype.mySome = function (callback) {    const len = this.length;    const res = false;    if (len > 0) {         for (let i = 0; i < len; i++) {               let res = callback(this[i], i);               if (res === true) return true;          }     }    return res;};const arr1 = [1, 2, 3, 4];const someRes1 = arr1.mySome((item) => item < 2);const someRes2 = arr1.mySome((item) => item > 4);console.log(someRes1, someRes2); // true false

3、every的实现

Array.prototype.myEvery = function (callback) {        const len = this.length;        let res = 0;        if (len > 0) {        for (let i = 0; i < len; i++) {            if (callback(this[i], i) === true) {                 res++;             }         }    }    console.log(res, len);    return res === len;};const arr1 = [1, 2, 3, 4];const everyRes1 = arr1.myEvery((item) => item < 4);const everyRes2 = arr1.myEvery((item) => item > 0);console.log(everyRes1, everyRes2); // false true

标签: #js数组的some方法 #jssome方法