美文网首页
ES6数组方法总结

ES6数组方法总结

作者: 华华00526 | 来源:发表于2019-06-10 11:53 被阅读0次

    关于数组中forEach() 、map()、filter()、reduce()、some()、every()的总结

    1. forEach()

    let array = [1,2,3,4];

    array.forEach((item, index, array) =>{console.log(item);});

    forEach会遍历数组, 没有返回值, 不允许在循环体内写return, 不会改变原来数组的内容.

    2. map()

    let array = [1, 2, 3, 4];

    let temp = array.map((item, index, array) => {

      return item * 10;

    });

    console.log(temp);  //  [10, 20, 30, 40];

    console.log(array);  // [1, 2, 3, 4]

    // map 遍历数组, 会返回一个新数组, 不会改变原来数组里的内容

    let temp2 = array.map(String);  // 把数组里的元素都转成字符串

    3. filter()

    let array = [1,2,3,4];

    let temp = array.filter((item, index, array) =>{

    return item >3;

    });

    console.log(temp);// [4]

    console.log(array);// [1, 2, 3, 4]

    // filter 会过滤掉数组中不满足条件的元素, 把满足条件的元素放到一个新数组中, 不改变原数组

    4. reduce()

    let array = [1,2,3,4];

    let temp = array.reduce((x, y) =>{

    console.log("x": x);

    console.log("y": y);

    return x + y;});

    console.log(temp);// 10

    console.log(array);// [1, 2, 3, 4]

    // x 是上一次计算过的值, 第一次循环的时候是数组中的第1个元素

    // y 是数组中的每个元素, 第一次循环的时候是数组的第2个元素

    5. every()

    let array = [1,2,3,4];

    let bo = array.every((item, index, array) =>{

    return item >2;

    });

    console.log(bo);// false;

    // every遍历数组, 每一项都是true, 则返回true, 只要有一个是false, 就返回false

    6. some()

    let array = [1,2,3,4];

    let tmep = array.some((item, index, array) =>{

    return item >1;

    });

    console.log(temp);// true

    // 遍历数组的每一项, 有一个返回true, 就停止循环

    7. arr.find(callback) 找到第一个符合条件的数组成员

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

    let arr1 = arr.find((value, index, array) =>value > 2)

    console.log(arr1)  // 3

    8.arr.includes() 判断数中是否包含给定的值

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

    let arr1 = arr.includes(2) 

    console.log(arr1)  // turelet arr2 = arr.includes(9)

    console.log(arr2)    // falselet arr3 = [1,2,3,NaN].includes(NaN)

    console.log(arr3)  // true

    ps:与indexOf()的区别:

    1 indexOf()返回的是数值,而includes()返回的是布尔值

    2 indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断

    9. arr.splice(i,n) 删除从i(索引值)开始之后的那个元素。返回值是删除的元素

    参数: i 索引值      n 个数

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

    console.log(arr.splice(2,2))//[3,4]console.log(arr)// [1,2,5]

    10.arr.concat() 连接两个数组 返回值为连接后的新数组

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

    console.log(arr.concat([1,2]))// [1,2,3,4,5,1,2]console.log(arr)// [1,2,3,4,5]

    11. str.split() 将字符串转化为数组

    let str = '123456'console.log(str.split(''))// ["1", "2", "3", "4", "5", "6"]

    12.arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组

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

    console.log(arr.slice(1,3))// [2,3]console.log(arr)//  [1,2,3,4,5]

    相关文章

      网友评论

          本文标题:ES6数组方法总结

          本文链接:https://www.haomeiwen.com/subject/efaaxctx.html