Array.forEach()
提示:相当于 for 循环数组
将原数组的每一项元素,传入 回调函数
forEach() 返回值:无返回值
回调函数
参数:
- value:当前元素
- index:当前索引
- array:数组本身
返回值:无
例子
var number = ["1", "31", "311", "43", "23"];
var txt = "";
number.forEach(myFunction);
console.log(txt)
function myFunction(value, index, array) {
txt = txt + value + "<br>";
}
Array.map()
将原数组的每一项元素按照规则进行改变,将所有改变的结果组合成一个新数组
解释: 将原数组的每一项元素,传入 回调函数 ,将 回调函数 的 返回值 组合成一个 新数组
- 不会更改原始数组
map() 返回值:新数组
回调函数
参数:
- value:当前元素
- index:当前索引
- array:数组本身
返回值:必须有返回值,将 返回值 组合成一个 新数组
例子
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
console.log(numbers2);
function myFunction(value, index, array) {
return value * 4;
}
Array.filter()
过滤数组,把符合规则的元素组合成一个新数组
解释: 将原数组的每一项元素,传入 回调函数 ,如果 回调函数 返回 true ,将该元素放到新数组中(表示符合条件)
- 不改变原数组
filter() 返回值:过滤出来的新数组
回调函数
参数:
- value:当前元素
- index:当前索引
- array:数组本身
返回值: true 或 false
例子
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
console.log(over18);
Array.reduce()
详见:
https://www.malaoshi.top/show_1IX7TnITT5iK.html
Array.some()
遍历数组,判断元素是否符合判断条件,若 有一个 符合就返回 true,若都不符合则返回 false,匿名函数的返回值就是判断条件
解释
- 每次遍历都会执行一次匿名函数,如果有一个匿名函数的返回值为
true,即有一个符合条件,那么 some()会返回true - 若都为 false,才会返回 false
- 不改变原数组
some() 返回值:布尔值 true 或 false
匿名函数
参数:
- item:每一项元素
返回值:布尔值 true 或 false
例子
李雷的各科成绩,如果有一科超过90,就有单科优秀奖
const scoreArr = [77,58,88,92]
const res = scoreArr.some( item => item >= 90)
if(res){
console.log("有奖励")
}else{
console.log("没奖励")
}
Array.every()
遍历数组,判断元素是否符合判断条件,如果 都符合 则返回 true,否则返回 false,匿名函数的返回值就是判断条件
解释
- 每次遍历都会执行一次匿名函数,如果所有匿名函数的返回值都为true,也就是所有元素都符合判断条件,那么 every()会返回 true
- 只要有一个为
false,即只要有一个不符合,就会返回false
- 不改变原数组
every() 返回值:布尔值 true 或 false
匿名函数
函数:
- item:每一项元素
返回值:布尔值 true 或 false
例子
李雷的各科成绩,都超过90,就获得奖学金
const scoreArr = [77,58,88,92]
const res = scoreArr.every( item => item >= 90)
if(res){
console.log("有奖学金")
}else{
console.log("没奖学金")
}
参考:
https://blog.csdn.net/qq_43968060/article/details/114392313
https://segmentfault.com/a/1190000022647129
