陣列
javascript 中 陣列的 key 只會是數字,通常就等於 index ,而物件就像是可用文字表示的 key。一般而言,直接使用物件能表達的訊息會更多。但若用陣列迴圈就代表直接處理 value 而不用考慮 key 值,在處理上會單純一點。
陣列資料類型是屬於物件,但Array這個包裝物件的typeof Array也是回傳'function'
JavaScript中並沒有關聯陣列(關聯陣列指的是"鍵-值"的資料陣列,也常被稱為字典(dictionary)的資料陣列)
雖然並沒有規定說,你只能在同一個陣列中使用單一種資料類型。但是,在陣列中儲存多種不同的資料類型,絕對是個壞主意。
拷貝(copy)陣列
把原有的陣列指定給另一個變數(或常數)並不會讓它成為一個全新的陣列,這是因為當指定值是陣列時,是指定到同一個參照,也就是同一個陣列
const aArray = [1, 2, 3]
const bArray = aArray
aArray[0] = 100
console.log(bArray) //[100, 2, 3]展開(spread)運算符(淺拷貝推薦方法)
const aArray = [1, 2, 3]
const copyArray = [...aArray]深拷貝用 newArticles = JSON.parse(JSON.stringify(articles))
splice
刪除或增加陣列中的成員,以此來改變原先的陣列
語法: array.splice(start, deleteCount[, item1[, item2[, ...]]])
這個方法的參數值會比較多用起來會複雜些,先說明它的參數如下:
start 是開始要作這件事的索引值,左邊從0開始,如果是負數則從右邊(最後一個)開始計算
deleteCount 是要刪除幾個成員(值),最少為0代表不刪除成員(值)
item1... 這是要加進來的成員(值),不給這些成員(值)的話,就只會作刪除的工作,不會新增成員(值)。注意如果是陣列值,會變成巢狀(子)陣列成員(值)。
pop與push、shift與unshift
pop 取出最後一個元素(同時刪除)
shift 取出第一個元素(同時刪除)
push 加入一個元素到陣列最後方
unshift 加入一個元素到陣列最前方
陣列合併 concat ( 返回一个新数组)
陣列轉字串 join
Slice ( 返回一个新数组)
截取字串或陣列的一部份
Last updated
Was this helpful?