如何在Javascript中从数组中完全删除对象?

时间:2013-08-10 05:13:15

标签: javascript

我一直在使用以下代码:

formData.objectiveDetails.push(emptyObjectiveDetail);

这会将一个新的emptyObjectiveDetail对象推送到名为objectiveDetails的数组的末尾。

例如,如果objectiveDetails数组包含13个对象,那么我怎样才能删除位置5的那个?我假设我可以使这个null,但我想要做的是完全删除它,使数组的长度变为12。

这可能不是主题,但我一直在考虑添加underscore.js。这可以用下划线来完成吗?

3 个答案:

答案 0 :(得分:5)

formData.objectiveDetails.splice(5, 1)

第一个参数是数组索引,第二个参数是从该索引开始删除的项目数。

答案 1 :(得分:4)

您可以使用Splice从阵列中删除对象。这样的事情: -

formData.objectiveDetails.splice(5, 1)

答案 2 :(得分:1)

使用underscore.js

objectiveDetails = _.without(objectiveDetails, _.findWhere(arr, {id: 5}));