filter()
filter() 方法创建一个新数组,并将符合条件的所有元素添加到创建的新数组中。
语法:
Array.filter(callback(element, index, array) { // 函数体 }, thisValue)
示例:(查找年龄小于20岁的数组并打印总数)
let users = [
{age: 10, name: "张三"},
{age: 15, name: "李四"},
{age: 20, name: "王五"}
];
// 返回前两个用户的数组
let list = users.filter(item => item.age < 20);
console.log(list.length); // 2
map()
map() 方法创建一个新数组,新数组的每个元素是调用一次给定函数的返回值。 语法:
Array.map(callback(currentValue, index, array) { // 函数体 }, thisValue)
示例:(组每一个数组+1,并把它添加到原来的数组中并打印出来)
let number = [1, 2, 3,4].map(item => item + 1);
console.log(lengths); // 2, 3, 4,5
forEach()
reduce() 方法为数组中的每一个元素依次执行(升序执行)回调函数,不包括数组中被删除或从未被赋值的元素。将其结果计算为一个值。 <br />注: reduce() 可以作为一个高阶函数,用于函数的 compose。
语法:
Array.forEach(callback(currentValue , index , array), thisValue)
示例:(循环number数组,并打印出来)
let number = [1, 2, 3, 4];
number.forEach((item, index ,array) =>{
console.log(item); // 1/2/3/4
});
for()
语法:
for (statement 1; statement 2; statement 3) {\
code block to be executed\
}
示例:(循环number数组,并打印出来)
let number = [1, 2, 3, 4];
for (var i=0;i<number.length;i++) {
console.log(number[i]); // 1/2/3/4
}
也可以使用for...in语法
let number = [1, 2, 3, 4];
let x;
for (x in number) {
console.log(number[i]); // 1/2/3/4
}