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