可能有用2

1.map()

原文地址---https://blog.csdn.net/liminwang0311/article/details/86480829

map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

var a=['a','s','d','f','g'];
a.map(function(item,index){
//a,s,d,f,g
console.log(item);
//0,1,2,3,4
console.log(index)
})

map()方法创建了一个新数组,但新数组并不是在遍历完array1后才被赋值的,而是每遍历一次就得到一个值。

var array1 = [1, 4, 9, 16];
const map1 = array1.map(x => {
    if (x == 4) {
        return x * 2;
    }
});
console.log(map1);
打印结果为:
> Array [undefined, 8, undefined, undefined]

为什么会出现三个undefined呢?而不是我预期的[1,8,9,16]。

这样写只是增加了一个条件,即x的值为4时才乘以2,之所以会出现undefined,是因为map()方法创建了一个新数组,但新数组并不是在遍历完array1后才被赋值的,而是每遍历一次就得到一个值。所以,下面这样修改后就正确了:

var array1 = [1, 4, 9, 16];
const map1 = array1.map(x => {
    if (x == 4) {
        return x * 2;
    }
    return x;
});

猜你喜欢

转载自www.cnblogs.com/ybx-cs/p/10956626.html