數(shù)組常用方法匯總
push(); 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長度。
unshift(); 向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長度。
pop(); 刪除并返回?cái)?shù)組的最后一個(gè)元素
shift(); 刪除并返回?cái)?shù)組的第一個(gè)元素
concat(); 連接兩個(gè)或多個(gè)數(shù)組债热,并返回結(jié)果
join(); 把數(shù)組的所有元素放入一個(gè)字符串。元素通過指定的分隔符進(jìn)行分隔。
splice(); 能填三個(gè)參數(shù)聊训,第一個(gè)坐標(biāo),第二個(gè)你要?jiǎng)h除幾個(gè)數(shù)字恢氯,第三個(gè)你要添加的數(shù)據(jù)
sort(); 對數(shù)組的元素進(jìn)行排序
reverse() 顛倒數(shù)組
toString() 把數(shù)組轉(zhuǎn)換成字符串带斑,并返回結(jié)果
slice(); 填寫下標(biāo)鼓寺,開始和結(jié)束兩個(gè)參數(shù)。需要一個(gè)變量接收它勋磕。不包含后面
push
向數(shù)組的末尾添加元素
var arr = [0,1,2,3,4,5];
arr.push(6);
console.log(arr)
unshift
向數(shù)組的開頭添加元素
var arr = [0,1,2,3,4,5];
arr.unshift(1);
pop
從數(shù)組中把最后一個(gè)元素刪除妈候,并返回這個(gè)元素的值
var arr = [0,1,2,3,4,5];
var arr2 = arr.pop();
console.log(arr); //刪除后的數(shù)組 [0,1,2,3,4]
console.log(arr2); //刪除返回來的數(shù)字 5
shift
從數(shù)組中把第一個(gè)元素刪除,并返回這個(gè)元素的值
var arr = [0,1,2,3,4,5];
var arr2 = arr.shift();
console.log(arr); //刪除后的數(shù)組 [1,2,3,4,5]
console.log(arr2); //刪除返回來的數(shù)字 0
concat
連接兩個(gè)或多個(gè)數(shù)組挂滓,并且返回一個(gè)新數(shù)組
var arrOne = [1,2,3];
var arrTwo = [4,5,6];
var success = arrOne.concat(arrTwo);
console.log(success); //新數(shù)組:[1,2,3,4,5,6]
join
把數(shù)組的所有元素放入一個(gè)字符串苦银。元素通過指定的分隔符進(jìn)行分隔。
var arr = [1,2,3,4,5,6];
var str = arr.join("/");
console.log(str); //返回以 / 分割的字符串:1/2/3/4/5/6
splice
從數(shù)組中添加/刪除項(xiàng)目赶站,然后返回被刪除的項(xiàng)目
參1:添加/刪除項(xiàng)目的位置墓毒,
參2:要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0亲怠,則不會刪除項(xiàng)目所计。
參3:可選。向數(shù)組添加的新項(xiàng)目
var arr = [1,2,3,4,5,6];
arr.splice(1,0,3); //在下標(biāo)為1的位置团秽,添加一個(gè)數(shù)字3主胧,添加在下標(biāo)為1的前面
console.log(arr); //[1,3,2,3,4,5,6]
sort
對數(shù)組的元素進(jìn)行排序。參數(shù)可選习勤。規(guī)定排序順序踪栋。必須是函數(shù)。
說明:默認(rèn)按照字符代碼進(jìn)行排序图毕,也就是說夷都,數(shù)字也是按照它們的字符串形式排序的。解決辦法予颤;函數(shù)
//升序排列
var arr = [6,8,4,5,21,1]
function compare_fn(value1, value2) {
return value1 - value2;
}
arr.sort(compare_fn);
console.log(arr)
//降序排列
function compare_fn2(value1, value2) {
return -(value1 - value2);
}
arr.sort(compare_fn2);
console.log(arr)
reverse
把一個(gè)數(shù)組顛倒
var arr = [1,2,3,4,5,6];
arr.reverse();
console.log(arr); //[6,5,4,3,2,1]
toString
把數(shù)組轉(zhuǎn)換成字符串囤官,并返回結(jié)果
var arr = [1,2,3,4,5,6];
var str = arr.toString();
console.log(str);
slice
可從已有的數(shù)組中返回選定的元素,兩個(gè)參數(shù),一個(gè)開始蛤虐,一個(gè)結(jié)束党饮,取前不取后
var arr = [0,1,2,3,4,5,6];
var newArr = arr.slice(2,5);
console.log(newArr); //[2,3,4]
copyWithin es6新增的數(shù)據(jù)方法
在當(dāng)前數(shù)組內(nèi)部,將指定位置的成員復(fù)制到其他位置(會覆蓋原有成員)驳庭,然后返回當(dāng)前數(shù)組刑顺。也就是說,使用這個(gè)方法饲常,會修改當(dāng)前數(shù)組蹲堂。
- 參1:target(必選) 從該位置開始替換數(shù)據(jù)
- 參2:start(可選) 從該位置開始讀取數(shù)據(jù),默認(rèn)為0贝淤,如果為負(fù)值柒竞,表示倒數(shù)
- 參3:end(可選) 到該位置前停止讀取數(shù)據(jù),默認(rèn)是數(shù)組的長度霹娄。如果為負(fù)值能犯,表示倒數(shù)
var arr = [1,2,3,4,5,6];
arr.copyWithin(0,2,3); // 替換下標(biāo)為0的數(shù)字鲫骗,讀取你要替換的值,從下標(biāo)為3停止讀取
console.log(arr) //[3,2,3,4,5,6]
//這個(gè)是從下標(biāo)0開始替換踩晶,從下標(biāo)2開始讀取执泰,到下標(biāo)5結(jié)束,期間的0,1,2會替換成 2,3,4
var arr = [0,1,2,3,4,5,6];
arr.copyWithin(0,2,5);
console.log(arr) //[2,3,4,3,4,5,6]```