push() 方法可在陣列的末端新增一個或多個元素,並傳回新的長度。這篇文章主要介紹了JavaScript數組push方法使用注意,需要的朋友可以參考下
js 數組的push方法,想必大家都知道是向數組末尾添加元素,但是有一個很關鍵的點要注意:
引自MDN
回傳值
當呼叫方法時,新的length 屬性值將會被傳回。
var sports = ["soccer", "baseball"]; var total = sports.push("football", "swimming"); console.log(sports); // ["soccer", "baseball", "football", "swimming"] console.log(total); // 4
數組push之後回傳的是length,而不是新的數組,如果不清楚這一點,在使用過程中回遇到很大的坑。
順帶記一下其他幾個陣列的方法傳回值:
#pop()
pop()方法從數組中刪除最後一個元素,並傳回該元素的值。此方法會變更數組的長度。
let a = [1, 2, 3]; a.length; // 3 a.pop(); // 3 console.log(a); // [1, 2] a.length; // 2 arr.pop()返回值从数组中删除的元素(当数组为空时返回undefined)。
shift()
shift() 方法從陣列中刪除第一個元素,並傳回該元素的值。此方法會變更數組的長度。
let a = [1, 2, 3]; let b = a.shift(); console.log(a); // [2, 3] console.log(b); // 1 返回值 从数组中删除的元素; undefined 如果数组为空。 arr.shift()
unshift()
unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。 let a = [1, 2, 3]; a.unshift(4, 5); console.log(a); // [4, 5, 1, 2, 3] arr.unshift(element1, ..., elementN) 参数列表 element1, ..., elementN 要添加到数组开头的元素。 返回值 当一个对象调用该方法时,返回其 length 属性值。
concat()
concat() 方法用於合併兩個或多個陣列。此方法不會變更現有數組,而是傳回一個新數組。
var arr1 = ['a', 'b', 'c']; var arr2 = ['d', 'e', 'f']; var arr3 = arr1.concat(arr2); // arr3 is a new array [ "a", "b", "c", "d", "e", "f" ] var new_array = old_array.concat(value1[, value2[, ...[, valueN]]]) 参数 valueN 将数组和/或值连接成新数组。 返回值 新的 Array 实例。
splice()
#splice() 方法透過刪除現有元素和/或新增元素來變更一個陣列的內容。
傳回值
由被刪除的元素組成的一個陣列。如果只刪除了一個元素,則傳回只包含一個元素的陣列。如果沒有刪除元素,則傳回空數組。
slice()
slice() 方法傳回一個從開始到結束(不包括結束)選擇的陣列的一部分淺拷貝到一個新數組對象,原始數組不會被修改。
傳回值:
一個含有提取元素的新陣列
#總結:
開始和結尾添加都是返回數組的長度;
開頭和結尾的刪除都是返回刪除的元素;
splice()返回被刪除的元素;
concat返回新的陣列;
slice傳回提取的陣列;
以上是JavaScript數組中關於push方法的注意事項的詳細內容。更多資訊請關注PHP中文網其他相關文章!