A:“啊啊啊啊,我怎么又不記得數(shù)組的使用方法了O⑿ā!”
B:"不就是那幾個(gè)操作數(shù)組的以及一些數(shù)組的遍歷方法而已嗎扒披?"
A: "可是,有的會(huì)改變?cè)瓟?shù)組值依,有的不會(huì)改變,而且有的遍歷方法需要return 有的不需要碟案。愿险。。价说。"
B:“ 我覺得辆亏,你沒有完全理解,理解了你就覺得輕而易舉鳖目,信手拈來了扮叨。”
數(shù)組中的基本操作
1 數(shù)組的操作 增刪查改
- 隊(duì)列和棧進(jìn)出操作
push pop shift unshift
- 拼接
concat join
- 提取
slice
- 作用多多的
splice
2 數(shù)組的遍歷方法
-
forEach
對(duì)數(shù)組進(jìn)行遍歷操作 (無(wú)返回值) -
some every
判斷數(shù)組是否滿足條件(返回true或false) -
map
對(duì)數(shù)組中的每一個(gè)元素進(jìn)行操作领迈,將操作后的值返回到一個(gè)新的數(shù)組(返回新數(shù)組) -
filter
過濾數(shù)組中的元素彻磁,返回return值為true的元素?cái)?shù)組(返回滿足條件的數(shù)組)
??插播一句解釋:
關(guān)于數(shù)組的操作碍沐,有增刪查改的操作,以及提取操作衷蜓;把數(shù)組想象成一個(gè)鏈表累提,然后棧和隊(duì)列的操作,排序恍箭,插入刻恭,刪除這些都是直接對(duì)數(shù)組本身進(jìn)行操作的瞧省,所以會(huì)改變數(shù)組本身扯夭。而如果是提取數(shù)組中的某一些元素,就不會(huì)改變數(shù)組本身了鞍匾。
所以交洗,仔細(xì)想想,push pop shift unshift splice
中都涉及到數(shù)組自身的改變橡淑,所以會(huì)改變數(shù)組元素本身构拳。而concat join
涉及到的是數(shù)組中的拼接,會(huì)形成一個(gè)新的元素梁棠,所以不會(huì)改變?cè)刈陨碇蒙?code>slice是提取數(shù)組元素中的部分元素,所以不會(huì)改變數(shù)組本身符糊。
push pop shift unshift
push pop 在數(shù)組尾部進(jìn)行操作凫海,push將元素從尾部插入,pop將最后一個(gè)數(shù)組元素提取男娄。
shift unshift 在數(shù)組頭部進(jìn)行操作行贪,shift 將頭部的元素刪除,unshift向頭部插入一個(gè)元素模闲。
// push的使用建瘫,返回新數(shù)組長(zhǎng)度
var test = [12,23,45,56]
var result = test.push(33)
console.log(test, result)
//[12, 23, 45, 56, 33] 5
// pop 的使用,返回被拋出的最后一個(gè)的數(shù)組的元素
var test = [12,23,45,56]
var result = test.pop(33)
console.log(test, result)
// [12, 23, 45] 56
// unshift的使用,向頭部插入新元素,返回?cái)?shù)組新長(zhǎng)度
var test = [12,23,45,56]
var result = test.unshift(90)
console.log(test, result)
// [90, 12, 23, 45, 56] 5
// shift的使用尸折,向頭部刪除元素啰脚,返回被刪除的元素
var test = [12,23,45,56]
var result = test.shift(90)
console.log(test, result)
// [23, 45, 56] 12
concat和join
concat的使用
- array.concat(array1,array2,array3);
- concat返回新的拼接數(shù)組
- 當(dāng)沒有參數(shù)的時(shí)候,可以返回一個(gè)新的拷貝的數(shù)組实夹,淺拷貝數(shù)組拣播。
join的使用
- arrar.join(拼接元素)
- 返回新的字符串
// concat 的使用,不會(huì)改變?cè)?var test = [12,23,45,56]
var test2 = [88,90]
var result = test.concat(test2,test2)
console.log(result)
// [12, 23, 45, 56, 88, 90, 88, 90]
// concat用于淺拷貝
var test = [12,23,45,56]
var test2 = [88,90]
var result = test.concat()
result.push(33)
console.log(result) // [12, 23, 45, 56, 33]
console.log(test) // [12, 23, 45, 56]
// join 的使用
var test = [12,23,45,56]
var test2 = [88,90]
var result = test.join(',')
console.log(result) //12,23,45,56