JavaScript---数组的方法

    技术2022-07-10  106

    栈方法:后进先出

    push()可以接收任意数量的参数,把它们逐个添加到数组末尾,push方法返回修改后数组的长度。

    var arr = ['hello', 'hi']; arr.push(5, 6, 7, 8); console.log(arr); //["hello", "hi", 5, 6, 7, 8]

     pop() 从数组末尾移除最后一项,减少数组的length值,pop方法返回移除的项。

    var arr=['hello','hi'] console.log(arr.pop()); //hi console.log(arr.pop()); //hello console.log(arr.pop()); //undefined console.log(arr); //[]

    队列方法:先进先出

    unshift()可以接收任意数量的参数,把它们逐个添加到数组前面,并返回修改后数组的长度

    var arr = ['zhangsan', 'lisi', 'wangwu']; console.log(arr.unshift('sunyi', 'wanger')); //5 console.log(arr); //["sunyi", "wanger", "zhangsan", "lisi", "wangwu"]

    shift()从数组前面移除一项,减少数组的length值,然后返回移除的项。

    var arr = ['zhangsan', 'lisi', 'wangwu']; console.log(arr.shift()); //zhangsan console.log(arr.shift()); //lisi console.log(arr.shift()); //wangwu console.log(arr);[]

    重排序方法

    reverse() 方法会反转数组项的顺序。

    var numarr = [1, 2, 3, 4, 5]; console.log(numarr.reverse()); // [5, 4, 3, 2, 1]

    sort() 方法按字母表升序排列数组项。

    如果按其他方式而非字母表顺序进行数组排列,必须给sort方法传递一个比较函数做参数。

    var arr = ["sunyi", "wanger", "zhangsan", "lisi", "wangwu"]; console.log(arr.sort()); //["lisi", "sunyi", "wanger", "wangwu", "zhangsan"]

    sort()排序数字

    var arr = [12, 3, 569, 78, 0, -56, 1223, 11, 16, 13, 1]; 排序数字 系统约定传入一个比较函数即可排序数字。 function compare(value1, value2) { if (value1 < value2) { return -1; } else if (value1 > value2) { return 1; } else { return 0; } } console.log(arr.sort()); //[-56, 0, 1, 11, 12, 1223, 13, 16, 3, 569, 78] console.log(arr.sort(compare)); //[-56, 0, 1, 3, 11, 12, 13, 16, 78, 569, 1223] console.log(arr.sort(function(a, b) { //a,b代表数组项的值。 return a - b; }));

    结构方法

    concat() 方法可以基于当前数组中的所有项创建一个新数组,参数可以是数组项或者数组。(不改变原数组)

    var arr = ['hello', 'hi']; var newarr = arr.concat(arr, arr, 'hehe', arr); console.log(arr);//['hello', 'hi'] console.log(newarr);//['hello', 'hi','hello', 'hi',hehe,hello', 'hi] 将多个数组拼接成一个数组。 var arr1 = ['1', '2', '3']; var arr2 = ['a', 'b', 'c']; var arr3 = ['100', '200', '300']; console.log(arr1.concat(arr2, arr3)); //["1", "2", "3", "a", "b", "c", "100", "200", "300"]

    slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数,即要返回项的起始和结束位置,不包括结束位置。(不改变原数组) - 通过索引下标进行截取

    第一个参数是开始的索引位置

    第二个参数是结束的所有位置,不包括结束的位置

    截取的方向一定是从前往后,但是索引位置为负数,从后往去数位置。

    var arr = ["a", "b", "c", "d", "e", "f", "g"]; console.log(arr.slice()); //没有设置位置全部截取["a", "b", "c", "d", "e", "f", "g"] console.log(arr.slice(1)); //从1索引位置开始截取 ["b", "c", "d", "e", "f", "g"] console.log(arr.slice(1, 5)); //从索引1开始截取到索引5的位置,不包括5这个位置 ["b", "c", "d", "e"] console.log(arr.slice(1, -3)); //负数从后往前数 -1开始 ["b", "c", "d"] console.log(arr.slice(-7, -3)); //负数从后往前数 ["a", "b", "c", "d"] console.log(arr.slice(-3, -7)); //截取的方向一定是从前往后 []

    splice()方法对数组进行删除、插入、替换,是最强大的数组方法,返回值是数组,(改变原数组)。

    删除

    var arr = ["a", "b", "c", "d", "e", "f", "g"]; console.log(arr.splice(2, 3)); //2开始的索引位置 3代表删除的长度 返回被删除的项组成数组["c", "d", "e"] console.log(arr); //["a", "b", "f", "g"]

    插入:根据删除演变来的

    var arr = ["a", "b", "c", "d", "e", "f", "g"]; console.log(arr.splice(2, 0, 'hehe', 'xixi', 'haha')); console.log(arr);//["a", "b", "hehe", "xixi", "haha", "c", "d", "e", "f", "g"]

    替换:根据删除演变来的

    var arr = ["a", "b", "c", "d", "e", "f", "g"]; console.log(arr.splice(2, 2, 'hehe', 'xixi')); //["c", "d"] console.log(arr); //["a", "b", "hehe", "xixi", "e", "f", "g"];

    join()方法将数组转换成对应的字符串。参数就是连接符。

    var arr = ["a", "b", "c", "d", "e", "f", "g"]; console.log(arr.join()); //'a,b,c,d,e,f,g' console.log(arr.join('#')); //'a#b#c#d#e#f#g' console.log(arr.join('')); //'abcdefg' console.log(arr.join('%')); //'a%b%c%d%e%f%g' console.log(typeof arr.join('%')); //string

     

    Processed: 0.014, SQL: 9