JavaScript中forEach()、map()、some()、every()、filter()的区别

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

你可能感兴趣的:(javascript,前端)