个人理解,不做参考,欢迎指导!
数组的迭代就是对数组进行遍历筛选过滤数组中的数据。
1.数组.every(function(数组中的项,数组中项的下标,整个数组){ })
var arr = [1,2,3,4,5,6];
var a = arr.every(function (a,b,c) {
console.log(a,b,c);
return a > 0 ;
// 控制台输出结果如下
// 1 0 (6) [1, 2, 3, 4, 5, 6]
// 2 1 (6) [1, 2, 3, 4, 5, 6]
// 3 2 (6) [1, 2, 3, 4, 5, 6]
// 4 3 (6) [1, 2, 3, 4, 5, 6]
// 5 4 (6) [1, 2, 3, 4, 5, 6]
// 6 5 (6) [1, 2, 3, 4, 5, 6]
// true
// 如果筛选的条件有一个数据不符合那么就会返回false,
// 且后面的代码不在执行,如果都符合才会返回true,全真为真,一假为假
// 如果不设置return,那么函数执行一次就会结束循环
// 因为函数不设置返回值返回结果为undefined,
// undefined的布尔值就是false,所以必须设置返回值,
// 返回值后边跟上筛选数据的条件,every的返回值只有true 和false
});
console.log(a);
2数组.some(function(数组中的项,数组中项的下标,整个数组){ });
var arr = [1,2,3,4,5,6];
var a = arr.some(function (a,b,c) {
console.log(a,b,c);
return a > 3 ;
// 控制台输出结果如下
// 1 0 (6) [1, 2, 3, 4, 5, 6]
// 2 1 (6) [1, 2, 3, 4, 5, 6]
// 3 2 (6) [1, 2, 3, 4, 5, 6]
// 4 3 (6) [1, 2, 3, 4, 5, 6]
// true
// 如果筛选的条件有一个数据符合那么就会返回true,循环只执行一次
// 且后面的代码不在执行,如果都符合才会返回false,全假为假,一真为真
// 如果不设置return,那么函数执行全部就会结束循环
// 因为函数不设置返回值返回结果为undefined,
// 根据some的用法全假为假会执行六次判断到底是否为假
// undefined的布尔值就是false,所以必须设置返回值,
// 返回值后边跟上筛选数据的条件,some的返回值只有true 和false
});
console.log(a);
3.数组.filter(function(数组中的项,数组中项的下标,整个数组){ });
var arr = [1,2,3,4,5,6];
var a = arr.filter(function (a,b,c) {
console.log(a,b,c);
return a > 3 ;
// 控制台输出结果如下
// (3) [4, 5, 6]
// filter 只返回符合条件的数据组成新数组,循环全部数据,
// 因为要判断每个数据是否符合条件
// 如果不设置return,那么函数不会执行
// 因为函数不设置返回值返回结果为undefined,
// 根据filter的用法只返回符合条件的数据组成新数组,
// 没有设置返回值就全都是undefined,结果返回空数组
// undefined的布尔值就是false,所以必须设置返回值,
// 返回值后边跟上筛选数据的条件,filter的返回值是符合条件的数据组成的新数组
});
console.log(a);
4.数组.map(function(数组中的项,数组中项的下标,整个数组){ });
var arr = [1,2,3,4,5,6];
var a = arr.map(function (a,b,c) {
console.log(a,b,c);
return a > 3;
// 控制台输出结果如下
// (6) [false, false, false, true, true, true]
// map 返回条件执行后的结果 return 1 就返回六个一
// 因为要判断每个数据是否符合条件所以循环全部数据
// 如果不设置return,那么返回六个undefined组成的数组,
// 因为函数不设置返回值返回结果为undefined,
// 根据map的用法返回条件执行后的结果,
// 没有设置返回值就全都是undefined,结果返回六个undefined
// 返回值后边跟上筛选数据的条件,map的返回值是条件执行后的结果数据组成的新数组
});
console.log(a);
5.4.数组.forEach(function(数组中的项,数组中项的下标,整个数组){ });
forEach 纯粹遍历数组没有任何作用,没有返回值,for循环的简写版,一般用于修改原数组的数据
var arr = [1,2,3,4,5,6];
var a = arr.forEach(function (a,b,c) {
console.log(a,b,c);
arr[3] = 9;
// 控制台输出结果如下
// (6) [1, 2, 3, 9, 5, 6]
// forEach会循环全部数据
});
console.log(arr);

4807

被折叠的 条评论
为什么被折叠?



