数组的一些方法

105 阅读2分钟

数组(array)方法

改变原数组方法:

1、push():尾部添加,返回值是改变后的数组长度;

var arr = [1, 2];
arr.push(3) ;// 3
arr; //  [1, 2, 3]
arr.push('b','c'); //5
arr; //[1, 2, 3, "b", "c"]
arr.push([10,20]); //6
arr; //[1, 2, 3, "b", "c", [10,20]]

2、pop()尾部删除,返回值是删除的元素;

var arr =[1, 2, 3, "b", "c", [10,20]];
arr.pop(); //[10, 20]
arr;  // [1, 2, 3, "b", "c"]

3、unshift()头部添加,返回值是改变后的数组长度;

var arr = [1, 2];
arr.unshift(3,4 );  //4
arr;  // [3, 4, 1, 2]

4.shift()头部删除,返回值是删除的元素;

var arr = ['a', 'b', 1, 2];
arr.shift(); //'a'
arr;  //['b', 1, 2]

5、sort()数组排序;

1.默认是将所有元素转换成字符串,再按字符串Unicode码点排序。返回值是新的数组。

var arr = [1, 2, 12, 'a', 'b', 'ab', 'A', 'B']
arr.sort();  //[1, 12, 2, "A", "B", "a", "ab", "b"] 
注意:12排在了2的前面

2.果元素都是数字,要按从小到大排序,可以传入一个回调函数作为参数。

var arr = [1, 2, 12, 100]

arr.sort(function(a,b){
    return a-b;
});
// [1, 2, 12, 100]

6、reverse()颠倒数组中元素的位置;

var arr = [1, 2, 12, 'a', 'b', 'ab', 'A', 'B'];
arr.reverse();
//["B", "A", "ab", "b", "a", 12, 2, 1]

7、array.splice()截取或者添加;返回值是截取的元素

array.splice(index,howmany,item1,.....,itemX) 参数: index:必需传。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany :必需传。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, ..., itemX:可选。向数组添加的新项目。

1.只删除,不添加。可以传入2个参数:

var arr = ['Alibaba', 'Tencent', 'Baidu', 'XiaoMi', '360'];

// 从索引2开始删除3个元素
arr.splice(2, 3); // 返回删除的元素 ['Baidu', 'XiaoMi', '360']
arr; // ['Alibaba', 'Tencent']

2.只添加,不删除。第2个参数设为0,即不删除元素。

arr.splice(2, 0, 'Toutiao', 'Meituan', 'Didi'); // 返回[],因为没有删除任何元素
arr; //["Alibaba", "Tencent", "Toutiao", "Meituan", "Didi"]