zoukankan      html  css  js  c++  java
  • array note

    Array

    concat()

    • 复制一个全新的数据
    • 修改复制的数据不会造成原始数据变化
    const a = [1,2,3];
    const b = a.concat();
    console.log(b);
    // [1,2,3]
    

    from()

    • 将类数组对象转化为真实的数组
    let arrayLike = {
        '0': 'a',
        '1': 'b',
        '2': 'c',
        length: 3
    };
    
    const arr = Array.from(arrayLike);
    console.log(arr);
    // ['a','b','c']
    
    // DOM 对象也是一个类数组对象
    const ps = document.querySelectorAll('p');
    const nodeList = Array.from(ps);
    

    Set()

    • 数组去重,但是不能对数组对象进行去重
    const arr = [1,2,3,1];
    const newArr = new Set(arr);
    console.log(newArr);
    // [1,2,3]
    
    // 无法对以下数组进行去重
    const arr = [{id:1,name:'a'},{id:1,name:'b'}];
    

    some(callback)

    • 根据函数给出的匹配要求进行遍历
    • 匹配到后返回 true,并终止当前遍历。无匹配项时返回 false
    • 不会对空数组进行遍历
    • 不会改变原数据
    var arr = [1,2,3,4,5,6];
    arr.some(item => (item > 3));
    // true
    

    filter(callback)

    • 遍历数组,根据函数要求返回匹配项
    • 不会对空数组进行遍历
    • 不会改变原数据
    var arr = [1,2,3,4,5,6];
    arr.filter(item => (item > 3));
    // [4,5,6]
    

    reduce(callback, initialValue)

    • 接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。
    • callback(previousValue, currentValue, index, array)
      • previousValue: 上一次调用的返回值,或者是提供的初始值“initialValue”
      • currentValue: 当前调用的值
      • index: 当前值的索引
      • array: 当前值调用的数组
    const arr = [1,2,3,4];
    arr.reduce((previousValue, currentValue, index, array) => {
    	retrun previousValue + currentValue;
    }, initialValue)
    // 10
    

    map(callback)

    • 返回一个新数组,数组中的元素为原始数据处理后的值
    • 不会对空数组进行遍历
    • 不会改变原数据
    const arr = [1,2,3,4];
    arr.map(item => item + 1);
    // [2,3,4,5]
    

    forEach(callback)

    • 将数组的每项元素传入回调函数
    • 不会对空数据进行遍历
    const arr = [1,2,3,4];
    const newArr = [];
    arr.forEach(item => newArr.push(item + 1))
    console.log(newArr);
    // [2,3,4,5]
  • 相关阅读:
    如何描述一个前端开发程序员
    解决电脑性能一般,打开webstorm后,电脑比较卡的问题
    HTML5的5个的新特性
    js 数组的拼接
    移动端性能
    如何学习前端
    实战:上亿数据如何秒查
    读懂Java中的Socket编程
    远程管理软件
    dedecms 安装后 管理后台ie假死 无响应的解决方法
  • 原文地址:https://www.cnblogs.com/shuia/p/9300409.html
Copyright © 2011-2022 走看看