JavaScript数组 几个常用方法

100 阅读1分钟

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, 34].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
}