美文网首页
数组的系列方法

数组的系列方法

作者: 杨戬Yj | 来源:发表于2020-03-24 09:31 被阅读0次

    1. indexOf()

    用于数组查找数组元素的索引

    var arr = [10, 20, '30', 'xyz'];
    arr.indexOf(10); //0
    arr.indexOf('30'); //2
    

    2.slice()

    就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array; 起止参数包括开始索引不包括结束索引 。如果不给slice()传递任何参数,它就会从头到尾截取所有元素

    arr.slice(1,3); // [20,'30']
    arr.slice(); // [10, 20, '30', 'xyz']参数为空,则截取整个数组,相当于复制一个数组
    

    3. pop() , push()

    push()向Array的末尾添加元素,pop()则把Array的最后一个元素删除掉

    push() 向尾部添加任意个元素,返回新数组长度

    请注意,push() 方法不创建新的创建,而是直接修改原有的数组。

    var arr = [1,2,3];
    var push = arr.push('a','b');
    console.log(push); //5 返回数组的长度
    

    pop()方法返回删除的元素

    请注意,pop() 方法是直接修改原有的数组。

    var pop=arr.pop();
    console.log(pop); 
    // b 返回删除的元素  如果数组已经为空, 空数组继续pop不会报错,而是返回undefined
    

    4.unshift()和shift()

    unshift()往Array的头部添加元素,shift()则把Array的第一个元素删掉

    unshift() 可向数组的开头添加一个或更多元素,并返回新的长度

    arrayObject.unshift(newelement1,newelement2,....,newelementX);
    //newelement1必需,其余为可选
    

    第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。

    var  arr=[1,2];
    var unshift=arr.unshift('A','b');
    console.log(unshift);  
    // 4  返回数组长度 
    

    shift()返回删除元素

    请注意,shift() 方法是直接修改原有的数组。

    var shift=arr.shift(); 
    console.log(shift); 
     // A 返回删除的元素 
    

    5.reverse() 颠倒数组中元素的顺序

    该方法会改变原来的数组,而不会创建新的数组

    var arr = [1,2,3];
    var reverse = arr.reverse();
    console.info(reverse);  // 返回的是反转数组后的结果[3,2,1]
    

    6.splice() 修改Array的“万能方法”

    从数组中的指定位置添加/删除项目,然后返回被删除的元素

    arrayObject.splice(index,howmany,item1,.....,itemX);
    //index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    //howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    //item1, ..., itemX 可选。向数组添加的新项目。
    
    var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
    // 从索引2开始删除3个元素,然后再添加两个元素:
    var spl1=arr.splice(2, 3, 'Google', 'Facebook'); 
    // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
    console.log(arr); // ["Microsoft", "Apple", "Google", "Facebook", "Oracle"]
    

    只删除,不添加

    var spl2 = arr.splice(2, 2); 
    console.log(spl2);// ['Google', 'Facebook']
    console.log(arr); // ['Microsoft', 'Apple', 'Oracle']
    

    只添加,不删除

    var spl3=arr.splice(2, 0, 'Google', 'Facebook'); 
    console.log(spl3);// 返回[],因为没有删除任何元素
    console.log(arr); // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
    

    请注意,splice()方法与 slice()方法的作用是不同的,splice()方法会直接对数组进行修改。slice()则是返回一个新的数组

    7.concat()方法

    把当前的Array和另一个Array连接起来 concat()方法并没有修改当前Array, 并返回一个新的Array。实际上,concat()方法可以接收任意个元素和Array,并且自动把Array拆开,然后全部添加到新的Array

    var arr=['a', 'b', 'c'];
    var concat=arr.concat(1, 2, [4, 7, 2]);
    console.info(concat); //["a", "b", "c", 1, 2, 4, 7, 2]
    

    8.join() 用于把数组中的所有元素放入一个字符串

    元素是通过指定的分隔符进行分隔的。

    array.join(separator)
    //separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
    
    var arr = ['A', 'B', 'C', 1, 2, 3];
    var join=arr.join('-');
    console.info(join);//A-B-C-1-2-3
    console.info(typeof(join)); //string
    

    9.toString()

    把数组转换为字符串,并返回结果,数组中的元素之间用逗号分隔

    var arr = ['a','b','c',1,2];
    console.log(arr.toString()); // a,b,c,1,2
    

    相关文章

      网友评论

          本文标题:数组的系列方法

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