JavaScript从数组中删除对象&把它返还

时间:2015-07-30 18:03:10

标签: javascript arrays object

使用JavaScript如何从数组中删除对象并返回该对象?例如,更改此:

[{first:"John", last:"Smith"}]

......对此:

{first:"John", last:"Smith"}

http://plnkr.co/edit/VqBCsXGuMM54MwHIKW3c?p=preview

2 个答案:

答案 0 :(得分:4)

使用splice。它将从数组中删除一些项目并将其返回。

var data = [{first:"John", last:"Smith"}];
var extract = data.splice(0, 1);
console.log(extract, data); // will print: {first..., last...}, []

请注意,splice本身会返回一个数组,因此您必须从中获取相应的元素。

如果您只有一个元素,可以splicepop,或者只是按索引获取元素,然后截断数组。

答案 1 :(得分:0)

您可以使用pop()方法。 它将始终从数组中删除最后一个元素并将其处理给您;

示例:

var myArray = [{first:"John", last:"Smith"}]
var myObject = myArray.pop()

现在,您的myObject值将为{first:"John", last:"Smith"}而您的myArray将为空

如果你有多个项目:

var myArray = [{first:"John", last:"Smith"}, {first:"Test", last:"Now"}]
var myObject = myArray.pop()

这里发生的是你的myArray只有第一个值而myObject将有最后一个{first:"Test", last:"Now"}

您还可以查看splice()