Javascript splice正在删除除请求的元素之外的所有内容

时间:2013-04-10 17:59:41

标签: javascript jquery arrays

我有一个非常简单的脚本,它从输入框中获取内容,从中创建一个数组,删除所需的元素,然后回吐文本。

我正在尝试使用“splice()”删除该项目,但它删除了所有内容但只有一项:

var listOfTitles = $('.title-list').val();
var arrayOfTitles = listOfTitles.split(',');
var updatedTitles = arrayOfTitles.splice(2,1);
$('.title-list').val(updatedTitles.join());

例如,如果我有这个:

为test1,TEST2,TEST3,TEST4

我可以把它变成一个数组。我想删除“test3”并输出“test1,test2,test4”。问题是,它正在返回“test3”而不是删除它。

正在发生的事情:http://jsfiddle.net/C95kN/

2 个答案:

答案 0 :(得分:3)

Splice()修改数组并返回一个包含删除元素的数组。

您想要的是arrayOfTitles而不是updatedTitles

见工作小提琴:http://jsfiddle.net/C95kN/1/

答案 1 :(得分:2)

splice更改传递的数组并返回已删除的元素。只需做

arrayOfTitles.splice(2,1);
$('.title-list').val(arrayOfTitles.join());

请注意,我认为slice而不是splice是一个错字。