2011-11-10 87 views
2

我认为.splice()可能会出错,但我认为它删除了数组中的一个元素。所有我想在这里做的是去除 “梨”,但它不工作:Javascript拼接不起作用

var my_array = ["apples","pears","bananas","oranges"]; 

my_array.splice($.inArray("pears",my_array)); 

$.each(my_array, function(k,v) { 
    document.write(v+"<br>"); 
}); 

此外,在http://jsfiddle.net/jdb1991/nV95v/

回答

8

您缺少两个参数:

  • $.inArray希望的第二个参数是受试者阵列
  • splice接受第二个参数来指定元素的数量将要删除

的代码变为:

var my_array = ["apples","pears","bananas","oranges"]; 

my_array.splice($.inArray("pears", my_array), 1); 

$.each(my_array, function(k,v) { 
    document.write(v+"<br>"); 
}); 

Live example

4
var my_array = ["apples","pears","bananas","oranges"]; 

my_array.splice($.inArray("pears", my_array), 1); 

$.each(my_array, function(k,v) { 
    document.write(v+"<br>"); 
}); 
1

您需要将数组传递给$ .inArray也通过元素的数量删除到方法Array.splice:

var my_array = ["apples","pears","bananas","oranges"]; 

my_array.splice($.inArray("pears", my_array), 1); 

$.each(my_array, function(k,v) { 
    document.write(v+"<br>"); 
}); 

http://jsfiddle.net/infernalbadger/nV95v/3/

1

试试这个

my_array.splice($.inArray("pears", my_array), 1); 
2

这适用于我:http://jsfiddle.net/HbjHV/

var my_array = ["apples","pears","bananas","oranges"]; 

var pos = $.inArray("pears", my_array); 
pos !== -1 && my_array.splice(pos, 1); 

$.each(my_array, function(k,v) { 
    document.write(v+"<br>"); 
});