我寫過一個演示,通過索引從數組中刪除特定的元素。使用splice前後得到結果數組()
var splice_a = function (array, index) {
array.splice(index, 1);
return array
};
var splice_b = function (array, index) {
return array.splice(index, 1)
};
var test = function() {
var array = [1, 2, 3];
alert(splice_a(array, 1));
alert(splice_b(array, 1));
};
<button onclick="test()">Click me</button>
Array.prototype.splice()說有關return value
:含有缺失元件
數組。如果只刪除一個元素 ,則返回一個元素的數組。如果刪除了 沒有元素,則返回一個空數組。
它沒有提到:如果我想得到結果數組,我應該將它與關鍵字return
結合起來嗎?
這應該是一個情況,因爲我得到2差的結果:
1,3
我的問題:什麼樣的,在這種情況下return array.splice(index, 1)
發生的呢?
是的,你需要的,如果你想有一個函數返回值使用'return'與關鍵字的值。 – Malk
我不明白你在這裏誤解了什麼。您發佈的代碼片段顯示與MDN所解釋的行爲相同的行爲。如果你返回'Array.prototype.splice'的結果,你將得到一個已經被刪除的元素數組,而不是原始數組。 – Damon
@Damon你看過我的問題嗎?同樣的行爲,但請提供2個不同的結果。 –