假设我有一个对象数组。有一些我不想要的键/值。删除一个键/值对的传统方法是这样使用delete
:
for (var i = 0; i < tracks.length; i++) {
delete tracks[i]["currency"];
...
}
我拉入的对象可能有 30 多对。有没有一种方法可以说明我想要哪些对并删除所有其他对?因此,例如,在这个对象数组中,我只想保留 trackName
、kind
、price
var tracks = [{
trackNumber: "01",
trackName: "Track 1",
trackDuration: "5:35",
kind: "song",
currency: "USD",
price: 1.29
}, {
trackNumber: "02",
trackName: "Track 2",
trackDuration: "5:15",
kind: "song",
currency: "USD",
price: 1.29
}, {
trackNumber: "03",
trackName: "Track 3",
trackDuration: "5:07",
kind: "song",
currency: "USD",
price: 1.29
}, {
trackNumber: "04",
trackName: "Track 4",
trackDuration: "0:16",
kind: "song",
currency: "USD",
price: 1.29
}, {
trackNumber: "05",
trackName: "Track 5",
trackDuration: "5:35",
kind: "song",
currency: "USD",
price: 1.29
}];
最佳答案
遍历数组并从每个对象中保留你想要的内容。
var keep = ['trackName', 'kind', 'price'];
for(var i = 0;i < tracks.length; i++){
for(var key in tracks[i]){
if(keep.indexOf(key) === -1)delete tracks[i][key];
}
}
关于javascript - 从对象中动态删除多个键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29634531/