zoukankan      html  css  js  c++  java
  • es6 Array数组方法

    1.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组

    let array1=['a','b','c'];
    let array2=['d','e','f'];
    console.log(array1.concat(array2));

    //两个数组合并为一个新数组:
    let array1=['a','b','c'];
    var array2=[1,2,3];
    alert(array1.concat(array2));

    //两个数组合并为一个新数组:
    let array1=['a','b','c'];
    var array2=[1,2,3];
    alert(array1.concat(array2));

    //连接三个数组
    let num1=[1,2,3],
    num2=[4,5,6],
    num3=[7,8,9];
    let nums=num1.concat(num2,num3);
    console.log(nums);

    //合并嵌套数组
    let num1=[[1]];
    let num2=[2,[3]];
    let nums=num1.concat(num2);
    console.log(nums);
    num1[0].push(4);
    console.log(nums);

    2.map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果

    let numbers = [1, 5, 10, 15];
    let doubles = numbers.map( x => x ** 2);
    console.log(numbers);
    console.log(doubles);

    const numbers = [2, 4, 8, 10];
    let halves = numbers.map(x => x / 2);
    console.log(halves);

    let numbers = [1, 4, 9];
    let roots = numbers.map(Math.sqrt);//sqrt开平方根
    console.log(roots);

    //slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改
    var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
    console.log(animals.slice(2));

    //3.Array.isArray() 用于确定传递的值是否是一个 Array。

    alert(Array.isArray([1, 2, 3]));
    // true

    alert(Array.isArray({foo: 123}));
    // false

    alert(Array.isArray("foobar"));
    // false

    alert(Array.isArray(undefined));
    // false

    下面的函数调用都返回 true
    alert(Array.isArray([]));
    alert(Array.isArray([1]));
    alert(Array.isArray(new Array()));
    // 鲜为人知的事实:其实 Array.prototype 也是一个数组。
    alert(Array.isArray(Array.prototype));

    下面的函数调用都返回 false
    alert(Array.isArray());
    alert(Array.isArray({}));
    alert(Array.isArray(null));
    alert(Array.isArray(true););
    alert(Array.isArray(false););

    3.数组去重合并
    function combine(){
    let arr=[].concat.apply([],arguments); //没有去重复的新数组
    return Array.from(new Set(arr));
    }
    var m=[1,2,2],n=[2,3,3],x=[2,4,5];
    console.log(combine(m,n,x));

    4.join() 方法将一个数组的所有元素连接成一个字符串并返回这个字符串。

    let a=['suga','jimin','v'];
    console.log(a.join()); // 'suga,jimin,v'
    console.log(a.join("")); // 'sugajiminv'
    console.log(a.join("-")); //suga-jimin-v

    let a=['suga','jimin','v'];
    let myVar1=a.join();
    let myVar2=a.join(', ');
    let myVar3=a.join('+');
    console.log(myVar1); //suga,jimin,v
    console.log(myVar2); //suga, jimin, v
    console.log(myVar3); //suga+jimin+v

    5. pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
     let a = [1, 2, 3];
     console.log(a.length); // 3
     a.pop(); // 3

     console.log(a); // [1, 2]
     // a.length; // 2


    6. push() 方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。
    var numbers=[1,2,3];
    numbers.push(4);
    console.log(numbers); // [1, 2, 3, 4]

    numbers.push(5, 6, 7);

    console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]

    7.shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
    let a = [1, 2, 3];
    let b = a.shift();
    console.log(a); // [2, 3]
    console.log(b); // 1


    8.slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改
    var animals=['ant','bison','camel','duck','elephant'];
    console.log(animals.slice(4));//删除第4个

    9.sort() 方法用就地( in-place )的算法对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。
    var fruit = ['cherries', 'apples', 'bananas'];
    alert(fruit.sort());

    var scores = [1, 10, 21, 2]; 
    console.log(scores.sort());

    9.splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
    var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];//索引从1开始

    myFish.splice(2, 0,'drum'); // 在索引为2的位置插入'drum'
    console.log(myFish)// myFish 变为 ["angel", "clown", "drum", "mandarin", "sturgeon"]

    myFish.splice(2, 1); // 从索引为2的位置删除一项(也就是'drum'这一项)
    // myFish 变为 ["angel", "clown", "mandarin", "sturgeon"]

    10.unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
    let a=[1,2,3];
    a.unshift(4,5);
    console.log(a);// [4, 5, 1, 2, 3]

  • 相关阅读:
    【洛谷 P5357】 【模板】AC自动机(二次加强版)(AC自动机,差分)
    【洛谷 P1659】 [国家集训队]拉拉队排练(manacher)
    【洛谷 P3224】 [HNOI2012]永无乡(Splay,启发式合并)
    HNOI2019退役祭
    类欧几里得算法模板
    乘法逆元模板
    $Luogu$ $P3130$ $[USACO15DEC]$ 计数 $Counting$ $Haybales$
    $Luogu$ $P2746$ $[USACO5.3]$ 校园网 $Network$ $of$ $Schools$
    $Luogu$ $P2243$ 电路维修
    $Luogu$ $P4667$ $[BalticOI$ $2011$ $Day1]$ 打开灯泡 $Switch$ $the$ $Lamp$ $On$
  • 原文地址:https://www.cnblogs.com/suga/p/8524931.html
Copyright © 2011-2022 走看看