让我们先来看一下这道面试题,大家试着做一下:
let arr = [1, 2, 3, 4];
arr = arr.map(parseInt);
console.log(arr);
将代码在浏览器中执行一下你就能得出正确答案,如果这道题你顺利的得出来答案那就不用看了,如果没有那就一起来分析下吧。
在讲解parseInt()之前先一起回顾一下js数组的遍历方法
- forEach 遍历数组中的每一项(数组中有多少项就会触发执行多少次回调函数,每一次把迭代的当前项和当前项的索引传递给回调函数)
let ary = [11, 22, 33]
ary.forEach(function (item, index) {
console.log(item, index)
})
/*
11 0
22 1
33 2
*/
- map 和forEach类似,只不过支持返回值,回调函数中的返回值会把当前迭代的这一项替换掉
let arr = [1, 2, 3, 4];
arr = arr.map(function (item, index) {
console.log(item, index);
return item * index; //=>返回结果替换数组中当前迭代的这一项
});
console.log(arr);
//输出结果如下:
/*
1 0
2 1
3 2
4 3
[ 0, 2, 6, 12 ]
*/
- find 迭代数据每一项的时候,只要有一项在回调函数中返回TRUE则找到内容,后面不会在迭代了,返回的是找到的这一项
find() 方法返回通过测试&#