1. .filter() -> 过滤指定数组中符合条件的元素

  • 语法: .filter(function(value, index, arr){return true})

  • 返回值: 数组

  • 参数: 
    • value: 当前的值 -> 必需
    • index: 当前索引 -> 可选
    • arr: 当前元素所属的数组对象 -> 可选

let arr = [1, 2, 3, 4, 5];

let new_arr = arr.filter(num => {
    return num > 2
});

console.log(new_arr)  // [3, 4, 5]

2. .map() -> 处理指定数组中的所有元素

  • 语法: .map(function(value, index, arr){return new_value})

  • 返回值: 数组

  • 参数: 
    • value: 当前的值 -> 必需
    • index: 当前索引 -> 可选
    • arr: 当前元素所属的数组对象 -> 可选

let arr = [1, 2, 3, 4, 5];

let new_arr = arr.map(num => {
    return num + 1
});

console.log(new_arr)  // [2, 3, 4, 5, 6]

3. .find() -> 找出第一个满足条件返回true的元素

  • 语法: .find(function(value, index, arr){return true})

  • 返回值: 满足条件的元素

  • 参数: 
    • value: 当前的值 -> 必需
    • index: 当前索引 -> 可选
    • arr: 当前元素所属的数组对象 -> 可选

let findArr = [1, 2, 3, 4, 5];

let find = findArr.find((value, index, arr) => {
/*
        value: 当前的值
        index: 当前索引
        arr: 当前元素所属的数组对象
    */
    console.log(value, index, arr);
    return value > 4;
});

console.log(`找出满足条件的值 : ${find}`);  // 找出满足条件的值 : 5

4. .findIndex() -> 找出第一个满足条件返回true的元素下标

  • 语法: .findIndex(function(value, index, arr){return true})

  • 返回值: 满足条件的元素索引

  • 参数: 
    • value: 当前的值 -> 必需
    • index: 当前索引 -> 可选
    • arr: 当前元素所属的数组对象 -> 可选

let findArr = [1, 2, 3, 4, 5];

let findindex = findArr.findIndex((value, index, arr) => {
/*
        value: 当前的值
        index: 当前索引
        arr: 当前元素所属的数组对象
    */
    console.log(value, index, arr);
    return value > 4;
});

console.log(`找出满足条件值的下标 : ${findindex}`);  // 找出满足条件值的下标 : 4

5. Array.from() -> 把类数组转化为真数组

  • Array.prototype.slice.call(obj) -> 以前的写法

// html

<button>btn1</button>
<button>btn2</button>
<button>btn3</button>

// js

let oBtn = document.getElementsByTagName('button');

let beforeArr = Array.prototype.slice.call(oBtn);  // 把类数组转化为真数组 (以前写法)

console.log(beforeArr);  // [button, button, button]

  • Array.from(obj) -> 新写法

// html

<button>btn1</button>
<button>btn2</button>
<button>btn3</button>

// js

let oBtn = document.getElementsByTagName('button');

let objArr = Array.from(oBtn);  // Array.from() 把类数组转化为真数组

console.log(objArr);  // [button, button, button]

6. Array.of() -> 接收一组参数转换为真数组

let parameterArr = Array.of(1, '一', 'one');

console.log(parameterArr);  // [1, "一", "one"]