Javascript拼接不起作用

我认为.splice()的意思可能是错的,但我认为它删除了一个数组元素。 我想在这里做的就是删除“梨”,但它不起作用:

var my_array = ["apples","pears","bananas","oranges"]; my_array.splice($.inArray("pears",my_array)); $.each(my_array, function(k,v) { document.write(v+"
"); });

也在http://jsfiddle.net/jdb1991/nV95v/

你错过了两个论点:

  • $.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+"
"); });

实例

 var my_array = ["apples","pears","bananas","oranges"]; my_array.splice($.inArray("pears", my_array), 1); $.each(my_array, function(k,v) { document.write(v+"
"); });

这对我有用 : 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+"
"); });

您需要将数组传递给$ .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+"
"); });

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

试试这个

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

你对数组进行模拟:

 $.inArray("pears",my_array) 

文档: http : //api.jquery.com/jQuery.inArray/

请查看.splice()方法确实收到了什么参数 !