[英]Creating an array of JSON objects from another array of JSON objects
我有一個像這樣的JSON數組:
[{Company:"", FirstName:"John", SecondName:"Smith", ID:"2345"},
{Company:"SomeComp", FirstName:"", SecondName:"Kane", ID:"4363"},
{Company:"Random", FirstName:"Tom", SecondName:"", ID:"6454"}]
我想對此進行解析,並創建一個新的對象數組,這些對象僅具有不帶ID的非空白屬性,即:
[{FirstName:"John", SecondName:"Smith"},
{Company:"SomeComp", SecondName:"Kane"},
{Company:"Random", FirstName:"Tom"}]
用Javascript做到這一點的最佳方法是什么?
您可以使用地圖
map()方法創建一個新數組,並對該數組中的每個元素調用提供的函數。
var companies = [{Company:"", FirstName:"John", SecondName:"Smith", ID:"2345"}, {Company:"SomeComp", FirstName:"", SecondName:"Kane", ID:"4363"}, {Company:"Random", FirstName:"Tom", SecondName:"", ID:"6454"}]; // This returns a new array var newArray = companies.map(function(item) { var obj = {}; for(var prop in item) { if (item[prop] !== "" && prop !== "id" ) { obj[prop] = item[prop]; }; } return obj; }); console.log(newArray);
這應該做
var input = JSON.parse("<YOUR JSON HERE>");
var output = [];
input.forEach(function(item) {
delete item.ID;
for (var prop in item) {
if (item.hasOwnProperty(prop) && item[prop] === "") {
item[prop] = undefined;
}
}
output.push(item);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.