js中常用的数组方法

351 阅读3分钟

shift()方法

把数组的第一个元素删除,返回删除的那个值,并将长度减1

var arr = [11,22,33,44,55];
var newArr = arr.shift();
console.log(newArr); //11

pop()方法

用于删除并返回数组的最后一个(删除元素),如果数组为空,则返回undefined,把数组长度减1。

var arr = [1,2,3,4];
var newArr = arr.pop();
console.log(newArr); //4

concat()方法

用于连接两个数组,并返回一个新数组,新数组是将参数添加到原数组中构成的

var arr = [10,22,33,444,245];
var newArr = arr.concat(4,5);
console.log(newArr); //[10, 22, 33, 444, 245, 4, 5]
var arr = [10,22,33,444,245];
var newArr = arr.concat(4,5);
var arr1 = [2,4];
var arr2 = [111,222];
var arr3 = newArr.concat(arr1,arr2);
console.log(arr3); //[10, 22, 33, 444, 245, 4, 5, 2, 4, 111, 222]

join()方法

用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分割的。返回一个字符串。

var arr = [1,2,3,0];
var newArr = arr.join('-');
console.log(newArr); //字符串1-2-3-0

push()方法

可向数组的末尾添加一个或者多个元素,并返回新的长度(用来改变数组的长度)

var arr = [111,222,333,444];
var newArr = arr.push(000);
console.log(newArr);  //5

unshift()方法

往数组前面添加一个或者多个元素,并返回新的长度

reverse()方法

用于颠倒数组中元素的顺序

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

slice() 方法

可从已有的数组中返回选定的元素。slice(开始截取位置,结束截取位置)

array.slice(start,end)

start必需。规定从何处开始选取,如果是负数,那么它规定从数组尾部开始算起的位置,也就是说,-1指的是最后一个元素。

end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

返回值

返回一个新的数组,包含从 start 到 end (包含start不包括end)的 array 中的元素

说明:请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()

splice()

方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。

array.splice(index,howmany,item1,.....,itemX)

index 必须。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany 必须。要删除的项目数量。如果设置为 0,则不会删除项目。

item1, ..., itemX 可选。向数组添加的新项目。

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

var arr = ['George','John','Thomas','James','Adrew','Martin']
arr.splice(2, 3, "William")
document.write(arr)  //George,John,William,Martin

数组去重

1、Set()去重

var arr = [1,2,2,4,3,4,1,3,2,7,5,6,1]
var newArr = new Set(arr);

2、普通数组去重

var arr = [1, 2, 2, 4, 3, 4, 1, 3, 2, 7, 5, 6, 1]
     for (var i = 0; i < arr.length; i++) {
         for (var j = i + 1; j < arr.length; j++) {
            if (arr[i] == arr[j]) {
                 arr.splice(j, 1)
             }
         }
     }
console.log(arr)

sort()方法

对数组进行排序

toString()方法

将数组转换成一个字符串