簡體   English   中英

從另一個JSON對象數組創建一個JSON對象數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM