1.some
(1). some() 不创建新数组、不改变原数组。
(2). some执行时给予判断条件,当有满足条件时,会立即跳出循环,返回true,不再继续向下执行,否则会一直执行到结束,如若还没有满足条件时,返回false
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let isFlase = arr.some(num => {
console.log('some:' + num);
return num > 12; //全部执行完
});
console.log(isFlase); //输出false
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let isFlase = arr.some(num => {
console.log('some:' + num);
return num > 1; //执行到2时满足条件跳出循环
});
console.log(isFlase); //输出true
2.every
(1). every() 不创建新数组、不改变原数组。
(2). 执行时给予判断条件,当所有的都满足时,返回true,当有一条不满足时,立即跳出整个循环,返回false,不在执行下面的循环逻辑
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let isFlase = arr.every(num => {
console.log('every:' + num); //只执行一次,不满足时直接跳出当前循环
return num > 1;
});
console.log(isFlase); //返回false
3.filter(顾名思义有筛选的意思)
(1).filter() 不改变原数组,但是会创建新数组
(2).会筛选所有元素,符合条件的会包含在创建出的新的数组中返回
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let newArr = arr.filter(num => {
console.log('filter:' + num);
return num > 2;
});
console.log(newArr); //输出[3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
console.log(arr); //输出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]