从数组中删除元素而不是拼接

时间:2014-06-11 10:18:46

标签: jquery arrays

var ar=['apple','mango','ronaldo'] 我想要的是删除芒果,所以它看起来像['apple','ronaldo']

我尝试了这个ar.splice(1,1),但它提供了['mango']作为输出。

3 个答案:

答案 0 :(得分:1)

ar.splice(1,1)从数组中删除元素

所以数组ar现在是['apple','ronaldo'].

var ar=['apple','mango','ronaldo'];
ar.splice(1,1)  // removed 'mango'
ar //['apple','ronaldo'].

Fiddle Demo检查控制台日志

.splice()

答案 1 :(得分:1)

.splice()方法将特定项目移除到原始数组中并返回已删除的项目。

试试这个:

var ar = ['apple','mango','ronaldo'];
var ind = ar.indexOf('mango');
if (ind > -1) {
    ar.splice(ind, 1);
}
console.log(ar);

Working Example

如果要使用item-index删除数组项,建议使用.splice()方法。但是如果想要按照它的价值删除项目,你可以试试这个。

var ar= ['apple','mango','ronaldo'];
var removeItem = "mango";
ar = jQuery.grep(ar, function(value) {
  return value != removeItem;
});
ar //['apple','ronaldo'].

Working Example

当您按值删除项目时出现问题(例如"芒果"):它会删除名称为"芒果"的所有数组项目。请参阅fiddle

答案 2 :(得分:0)

试试这个

$(function () {
   var ar=['apple','mango','ronaldo']
   ar.splice(1,1) // remove first
   alert(ar);
});

DEMO