js中提供了很多數(shù)組的操作方法,比如刪除志衍,截取,排序等等惹悄,這些方法在平時(shí)做開發(fā)的過程中總會(huì)用到肩钠,所以今天做一個(gè)總結(jié)价匠。
方法詳解
-
concat
解釋
數(shù)組拼接,返回一個(gè)新的數(shù)組坡氯,原有數(shù)組不變??
let arr1 = [1, 2, 3] let arr2 = ['a', 'b', 'c'] let concatArr = arr1.concat(arr2) console.log(arr1) console.log(arr2) console.log(concatArr)
-
結(jié)果展示
-
join
解釋
數(shù)組轉(zhuǎn)化成字符串輸出箫柳,用特定字符分割悯恍,原數(shù)組不變??
let arr = [1, 2, 3] let joinArr = arr.join('&') console.log(arr) console.log(joinArr)
-
結(jié)果展示
-
toString
解釋
把數(shù)組轉(zhuǎn)換為字符串涮毫,并返回結(jié)果罢防,原數(shù)組不變??
let arr = [1, 2, 3] let toStringArr = arr.toString() console.log(arr) console.log(toStringArr)
-
結(jié)果展示
-
toLocaleString
解釋
把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組篙梢,并返回結(jié)果??
let arr = [1, 2, 3, 4, 5] let toLocaleStringArr = arr.toLocaleString() console.log(arr) console.log(toLocaleStringArr)
-
展示結(jié)果
-
sort
解釋
數(shù)組排序渤滞,返回排序后的數(shù)組妄呕,原數(shù)組改變??
let arr = [1, 2, 3, 5, 0, 10, 15] let sortArr = arr.sort(function(a, b) { return a - b }) console.log(arr) console.log(sortArr)
-
結(jié)果展示
-
reverse
解釋
顛倒數(shù)組順序绪励,原數(shù)組改變??
let arr = [1, 2, 3] let reverseArr = arr.reverse() console.log(arr) console.log(reverseArr)
-
結(jié)果展示
-
pop
解釋
從數(shù)組后面刪除一項(xiàng)疏魏,返回刪除的數(shù)據(jù)大莫,原數(shù)組改變??
let arr = [1, 2, 3] let popArr = arr.pop() console.log(arr) console.log(popArr)
-
結(jié)果展示
-
push
- 解釋
從數(shù)組后面添加只厘,返回?cái)?shù)組的長度,原數(shù)組改變 - ??
let arr = [1, 2, 3] let pushArr = arr.push(4) console.log(arr) console.log(pushArr)
-
結(jié)果展示
- 解釋
-
shift
- 解釋
從數(shù)組的前面刪除一項(xiàng),返回被刪除的數(shù)據(jù)赋元,原數(shù)組改變 - ??
let arr = [1, 2, 3] let shiftArr = arr.shift() console.log(arr) console.log(shiftArr)
-
結(jié)果展示
- 解釋
-
unshift
- 解釋
從數(shù)組前面增加寒瓦,返回?cái)?shù)組的長度坪仇,原數(shù)組改變 - ??
let arr = [1, 2, 3] let unshiftArr = arr.unshift(0) console.log(arr) console.log(unshiftArr)
-
結(jié)果展示
- 解釋
-
slice
- 解釋
從某個(gè)已有的數(shù)組返回選定的元素椅文,原數(shù)組不變slice(start[, end]) 原數(shù)組不變 - ??
// 只傳一個(gè)參數(shù)惜颇,默認(rèn)截取到最后 let arr = [1, 2, 3] let sliceArr = arr.slice(1) console.log(arr) console.log(sliceArr)
-
結(jié)果展示
// 傳2個(gè)參數(shù),第一個(gè)表示開始位置少辣,第二個(gè)表示結(jié)束位置凌摄,但不包含 let arr = [1, 2, 3] let sliceArr = arr.slice(1, 1) console.log(arr) console.log(sliceArr)
-
結(jié)果展示
// 傳2個(gè)參數(shù),第一個(gè)表示開始位置漓帅,第二個(gè)表示結(jié)束位置锨亏,但不包含 let arr = [1, 2, 3] let sliceArr = arr.slice(1, 2) console.log(arr) console.log(sliceArr)
-
結(jié)果展示
- 解釋
-
splice
- 解釋
刪除元素,并向數(shù)組添加新元素忙干,返回刪除的部分,原數(shù)組改變splice(start[, number, item1, item2, …, itemN]) - ??
// 第一個(gè)參數(shù)開始刪除的位置捐迫,第二個(gè)參數(shù)表示要?jiǎng)h除的個(gè)數(shù) let arr = [1, 2, 3, 4, 5] let spliceArr = arr.splice(1, 3) console.log(arr) console.log(spliceArr)
-
結(jié)果展示
??
// 第一個(gè)參數(shù)開始刪除的位置乾翔,第二個(gè)參數(shù)為空表示到最后 let arr = [1, 2, 3, 4, 5] let spliceArr = arr.splice(1) console.log(arr) console.log(spliceArr)
-
結(jié)果展示
??
// 第一個(gè)參數(shù)開始刪除的位置,第二個(gè)參數(shù)為刪除的個(gè)數(shù)施戴,第三個(gè)參數(shù)為插入到該位置的新數(shù)據(jù) let arr = [1, 2, 3, 4, 5] let spliceArr = arr.splice(3, 1, 7) console.log(arr) console.log(spliceArr)
-
結(jié)果展示
- 解釋
快速查詢列表
方法名 | 描述 | 是否改變?cè)瓟?shù)組 | 返回值 |
---|---|---|---|
concat | 數(shù)組拼接 | 否 | 新的拼接后的數(shù)組 |
join | 數(shù)組轉(zhuǎn)化成字符串 | 否 | 分割后的字符串 |
toString | 數(shù)組轉(zhuǎn)化成字符串反浓,并用逗號(hào)分隔 | 否 | 逗號(hào)分隔的字符串 |
toLocaleString | 把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組 | 是 | -- |
sort | 數(shù)組排序 | 是 | 排序后的數(shù)組 |
reverse | 顛倒數(shù)組順序 | 是 | 顛倒后的數(shù)組 |
pop | 從數(shù)組后面刪除一項(xiàng) | 是 | 刪除的數(shù)據(jù) |
push | 從數(shù)組后面添加一項(xiàng) | 是 | 數(shù)組的長度 |
shift | 從數(shù)組前面刪除一項(xiàng) | 是 | 被刪除的數(shù)據(jù) |
unshift | 從數(shù)組前面添加一項(xiàng) | 是 | 數(shù)組的長度 |
slice | 從某個(gè)已有的數(shù)組返回選定的元素 | 否 | 選定的數(shù)組 |
splice | 刪除元素,并向數(shù)組添加新元素 | 是 | 刪除的部分 |
相近方法對(duì)比
- join()赞哗,toString()和toLocaleString()
join可以定義分割符雷则,而另外的方法是默認(rèn)用逗號(hào)分隔的;
toString和toLocalString的區(qū)別是什么呢懈玻?請(qǐng)參考http://blog.csdn.net/xufeiayang/article/details/52723550 - slice()和splice()
slice返回?cái)?shù)組的指定部分巧婶,原數(shù)組不變。第一個(gè)參數(shù)為必填涂乌,表示開始的位置;第二個(gè)參數(shù)表示結(jié)束位置英岭,但不包含end湾盒,或者可以不填寫,則默認(rèn)截取到最后
splice返回?cái)?shù)組被刪除的部分诅妹,原數(shù)組會(huì)改變罚勾。第一個(gè)參數(shù)必填,表示開始刪除的開始位置吭狡,第二個(gè)參數(shù)表示要?jiǎng)h除的個(gè)數(shù)尖殃,后面的參數(shù)表示要添加到該位置的數(shù)據(jù)
想了解更多關(guān)于es6新增的數(shù)組方法請(qǐng)點(diǎn)擊這里