javascript数组中的各种循环和返回值

给自己总结一下,循环比较多容易弄混了。

forEach

Array.forEach(callback)

callback参数(value,index,array)

没有返回值,对数组的所有元素执行一遍callback

for of

for (variable of iterable) {
  statement
}

没有返回值,对可循环的对象(包括Array,Map,Set,String,arguments)执行statement

MDN

map

数组的map函数返回一个新的数组

arr.map(callback[, thisArg])

callback有三个参数 (value, index ,array)

every

数组的every函数测试是否所有的元素都能通过provided function的测试

arr.every(callback[, thisArg])

callback参数 (value index array)

thisArg

Optional. Value to use as this when executing callback.

function isBigEnough(element, index, array) {
  return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough);   // false
[12, 54, 18, 130, 44].every(isBigEnough); // true

返回值是boolean

数组推导(array comprehension)

var a1 = [1, 2, 3, 4];
var a2 = [for (i of a1) i * 2];

a2 // [2, 4, 6, 8]

允许直接通过现有数组生成新数组。