forEach:没有返回值
map:有返回值,把原数组经过处理后返回新数组
var arr = [1, 2, 3, 4, 5]
var newArr = arr.map(function(item) {
return item * 2
})
console.log(newArr);
[2, 4, 6, 8, 10]
filter:有返回值,返回符合条件的新数组
var arr = [1, 2, 3, 4, 5]
var newArr = arr.filter(function (item) {
return item > 3
})
console.log(newArr);
[4,5]
some:有返回值,数组中只要查找到第一个值满足条件就会返回true且终止循环
可以手动return true终止循环
var arr = [1, 2, 3, 4, 5]
var newArr = arr.some(function (item) {
return item > 4
})
console.log(newArr);
true
every:有返回值,数组中的每一个值必须全部满足条件才会返回true
查找到第一个值不满足条件就会返回false且终止循环
可以手动return false终止循环
如果没有返回值true也会跳出循环
var arr = [2, 3, 4, 5]
var newArr = arr.every(function (item) {
return item > 1
})
console.log(newArr);
true
拓展:
find:找出第一个符合条件的数组成员,没找到会返回undefined
注意:返回的是值
const arr = [1, 2, 3, 4, 5]
const result = arr.find(function (item) {
return item > 3
})
console.log(result); // 4
findIndex:找出第一个符合条件的数组成员的索引号 没找到会返回-1
注意:返回的是索引
const arr = [1, 2, 3, 4, 5]
const result = arr.findIndex(function (item) {
return item > 3
})
console.log(result); // 3