javascript拼接数组

时间:2011-11-16 21:30:51

标签: javascript

我有一个对象数组,我正在寻找删除一个元素。但是,splice方法似乎返回了删除的元素,而不是没有我想删除的元素的数组。

这就是我所拥有的

var TheArray = TheObject.Array;
TheArray = TheArray.splice(TheIndex, 1); //TheIndex is the index of the element I want to remove
TheObject.Array = TheArrray;

当我调试并运行此代码时,TheObject.Array包含我想要删除的元素。

我做错了什么?谢谢你的建议。

3 个答案:

答案 0 :(得分:16)

splice返回已删除的元素,但会修改调用它的元素。因此,在您的示例中,TheArray已就地更新,并且不应再包含已删除的元素。

如何使用splice的更具体,简化的示例如下:

var myArr = ["a", "b", "c", "d"];
var elem = myArr.splice(2, 1);
// elem  => ["c"]
// myArr => ["a", "b", "d"]

答案 1 :(得分:9)

您要将TheArray的值设置为要删除的项目的值。

重写你的代码:

var TheArray = TheObject.Array;
TheArray.splice(TheIndex, 1); //TheIndex is the index of the element I want to remove
TheObject.Array = TheArrray;

答案 2 :(得分:0)

在你的数组上做一个警告以确保数组是正确的,你也可能需要在变量周围做一个parseInt()(即TheArray = TheArray.splice(parseInt(TheIndex),1);)以确保它被设置为整数而不是字符串:)

我希望这有帮助