js數組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返回提取的數組;

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM