Javascript拼接不起作用

时间:2011-11-10 09:17:08

标签: javascript jquery

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

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/

7 个答案:

答案 0 :(得分: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

答案 1 :(得分: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>");
});

答案 2 :(得分: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>");
});

答案 3 :(得分: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/

答案 4 :(得分:1)

试试这个

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

答案 5 :(得分:0)

你忘记了阵列:

$.inArray("pears",my_array)

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

答案 6 :(得分:0)

请查看what arguments .splice()方法确实收到了!