var list = [ 'dog', 'cat', 'horse' 'rabbit']
數組現在,我想在數組中刪除一個項目,貓。
list.splice(1, 1)
現在我的陣列看起來像這樣
list = [ 'dog', 'horse', 'rabbit' ]
我想要做的就是它的基礎上已刪除的項目重新排序,因此,例如
list = [ 'horse', 'rabbit', 'dog']
將如何我在Javascript中實現了這一點?
var list = [ 'dog', 'cat', 'horse' 'rabbit']
數組現在,我想在數組中刪除一個項目,貓。
list.splice(1, 1)
現在我的陣列看起來像這樣
list = [ 'dog', 'horse', 'rabbit' ]
我想要做的就是它的基礎上已刪除的項目重新排序,因此,例如
list = [ 'horse', 'rabbit', 'dog']
將如何我在Javascript中實現了這一點?
您可以使用Array.sort()
函數來執行排序根據你想使用< =>樣式的功能
var numbers = [4, 2, 5, 1, 3];
numbers.sort(
function(left, right) {
return left - right;
}
);
// returns: 1, 2, 3, 4, 5
如果您想在新列表中刪除的元素之後啓動,並追加一切都是之前的項目:
var list = [ 'dog', 'cat', 'horse', 'rabbit'] ;
var itemIndex = 1; // Index of 'cat' (removed item)
list = list.slice(itemIndex+1).concat(list.slice(0,itemIndex));
console.log(list); // ["horse", "rabbit", "dog"]
這應該這樣做。代碼將所有項目拼接到第n個位置。然後將它們添加回列表的結尾,除了第n個項目。
var removed = list.splice(0, n);
list.push(removed.splice(0, removed.length-1));
有趣的是,你表達問題的方式......你可能會這樣做,
function funkyDeleteItem(a,i){
return a.slice(i+1).concat(a.slice(0,i));
}
var a = [ 'dog', 'cat', 'horse', 'rabbit'],
b = funkyDeleteItem(a,1);
console.log(b);
「它基於已刪除的項進行重新排序」←這是什麼意思? – JLRishe
如此以來貓已被刪除,而不是顯示「狗」,「馬」,「兔」 - 我想顯示「馬」,'兔「狗」 - 狗是最後 – anon
我投票「最令人困惑的問題 - 九月「 – NoobishPro