数组法代是一件很重要的操作,在 ECMAScript 5 之前主要使用 for 语句实现,这种方式不是很方便, 为此 ECMAScript 5 新增了 5 个与迭代相关的方法。
1.forEach:为数组中的每个元素调用定义的回调函数。
2.every:检查定义的回调函数如果每一项都返回true,则返回 true。
3.some:检查定义的回调函数如果任意一项返回true。返回 true。
4.map:对数组的每个元素调用定义的回调函数,并返回包含结果的数组。
5.filter:对数组的每个元素调用定义的回调函数,并返回回调函数为其返回 true 的值的数组。 具体说明如下。
forEach
1 2 3 4 5 6 7 8 9 10 11 12 13
| let thisArg = { name: '熊猫', age: 21, sex: '女' } let arr = [1, 2, 3]; arr.forEach(function(value, index, array){ console.log(this) console.log(value) console.log(index) console.log(array) },thisArg);
|
every
1 2 3 4
| let arr = [1, 2, 3]; console.log(arr.every(function(value, index, array){ return value > 2; }))
|
some
1 2 3 4
| let arr = [1,2,3]; console.log(arr.some(function(value, index, array){ return value > 2; }))
|
map
1 2 3 4 5
| let arr = [1, 2, 3]; arr = arr.map(function(value, index, array){ return value + 1; }); console.log(arr);
|
filter
1 2 3 4 5
| var arr = [5, "element", 10, "the", true]; var result = arr.filter(function(value, index, array){ return (typeof value === 'string'); }); document.write(result);
|