美文网首页
map 和forEach用法(添加parseInt的小尾巴)

map 和forEach用法(添加parseInt的小尾巴)

作者: newway_001 | 来源:发表于2019-02-14 18:26 被阅读0次

forEach:

语法:
array.forEach(function(currentValue, index, arr), thisValue)
其中:index可选;arr可选;thisValue可选

map

var new_array = arr.map(callback[, thisArg]) 
callback 同样三个参数currentValue, index, arr;

map:和forEach非常相似,都是用来遍历数组中的每一项;
区别:map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);
forEach不支持return

var arr = [1, 2, 3];

console.log(
    arr.map(function(i){
        return i+i;
    })
    //链式风格
    .sort()
);// [2,4,6]

console.log(
    arr.forEach(function(i){
        return i+i;
    })
    //接不起来,断了
    .sort()
);//TypeError: Cannot read property 'sort' of undefined

不管是forEach还是map 都支持第二个参数值,第二个参数的意思是把匿名回调函数中的this进行修改。

map 和 foreach的总结

1、map速度比foreach快
2、map会返回一个新数组,不对原数组产生影响,foreach不会产生新数组,
3、map因为返回数组所以可以链式操作,foreach不能

["1", "2", "3"].map(parseInt);  //结果  [1, NaN, NaN]   
原因:
parseInt接收俩参数parseInt(string, radix);
map 最多传递 3 个参数 (element, index, array)」
["1", "2", "3"].map(parseInt)等价于:
[parseInt('1',0),parseInt('2',1),parseInt('3',2)]

parseInt要点:

parseInt方法还可以接受第二个参数(2到36之间),
默认情况下,parseInt的第二个参数为10,
如果第二个参数是0、undefined和null,则直接忽略。

相关文章

网友评论

      本文标题:map 和forEach用法(添加parseInt的小尾巴)

      本文链接:https://www.haomeiwen.com/subject/dboeeqtx.html