首頁 >web前端 >js教程 >JavaScript數組中關於push方法的注意事項

JavaScript數組中關於push方法的注意事項

黄舟
黄舟原創
2017-10-31 10:06:032154瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn