zoukankan      html  css  js  c++  java
  • 数组常用方法

    扩展运算符

    let arr = [1, 2, 3];
    let arr2 = [...arr];  //等同于 let arr2 = Array.from(arr);
    
    let [a, b, c] = [1, 2, 3];   //a=1, b=2, c=3
    
    let [ , , third] = ["foo", "bar", "baz"];  //third="baz"
    
    let [head, ...tail] = [1, 2, 3, 4];  //head=1, tail=234
    
    let [x, y, ...z] = ['a'];  //x=a, y=undefined, z=[], 如果解构不成功,变量的值就等于undefined
    
    let [x, y = 'b'] = ['a']; // x='a', y='b',解构赋值允许指定默
    
    // 解构赋值超强
    const {
        form: { validateFields }
    } = this;
        validateFields((err, values) => {
            if (!err) {
              // eslint-disable-next-line no-console
              console.log("Received values of form: ", values);    
            }
        });

    Array.from:把类数组(获取一组元素、arguments...)对象转成数组,个人观点:具备length这个东西都可以使用Array.from()转数组

    let aLi = document.querySelectorAll('ul li');
    let arrLi = Array.from(aLi);  //等同于let arrLi = [].slice.call(aLi);  ES5方法
    
    function show(){
        let args = Array.from(arguments);
        console.log(args)      //[1,2,3,4,5]
    }
    show(1,2,3,4,5)
    
    let str = 'strive';
    let arr = Array.from(str);   //等同于let arr = str.split('');
    console.log(arr);   //[s,t,r,i,v,e]
    
    let json = {
        0:'apple',
        1:'banana',
        2:'orange',
        length:3
    }
    let arr = Array.from(json);
    console.log(arr); //['apple','banana','orange'],json对象必须有length,否则为[]

    Array.of:把一组值,转成数组(没用过)

    let arr = Array.of('apple','banana','orange');
    console.log(arr); //['apple','banana','orange']

    Array.find:查找,找出第一个符合条件的数组成员,如果没找到返回undefined

    let arr = [23,900,101,80,100];
    let res = arr.find((val, index, arr) => {
        return val>100;
    })
    console.log(res);   //返回数字900

    Array.findIndex:找的是位置,没找到返回-1

    let arr = [23,900,101,80,100];
    let res = arr.findIndex((val, index, arr) => {
        return val>100;
    })
    console.log(res);   //返回数字1

    Array.fill:Array.fill(填充的东西,开始位置,结束位置)(没用过)

    let arr = new Array(10);
    arr.fill('默认值');
    console.log(arr); //['默认值'......]10个默认值
    arr.fill('默认值',1,3);   //1起始位置,3结束位置
    console.log(arr);  //下标为1和下标为2的是默认值,其他为空

    Array.includes:返回布尔值true/false,跟indexOf类似

    let arr = ['apple','banana','orange'];
    let b = arr.includes('banana');
    console.log(b);   //返回布尔值true
  • 相关阅读:
    在Flex (Flash)中嵌入HTML 代码或页面—Flex IFrame
    让Android App启动更协调
    最短路+状态压缩dp(旅行商问题)hdu-4568-Hunter
    weblogic 内存 及 内存溢出
    Mysql或者Hive数据行变成列
    使用sphinx生成美观的文档
    adb 功能大全
    Problem B: Excuses, Excuses!
    2014acm亚洲区域赛陕西赛总结
    Cookie的写入,和读取
  • 原文地址:https://www.cnblogs.com/lanshu123/p/10580795.html
Copyright © 2011-2022 走看看