簡體   English   中英

如何從 object 中提取具有 typescript 中的屬性和數組的數組?

[英]How to extract an array from an object with property and array in typescript?

我有一個 object 總是有一個屬性和一個數組。 當我用console.log(obj)打印出來時。 它喜歡以下內容。

 ProjectName: MyTest1
 [0] { foo: 1, bar: 2}
 [1] { foo: 3, bar: 4}
 [2] { foo: 5, bar: 6} 

或者

ProjectName: MyTest2
[0] { foo: 1, bar: 2}
[1] { foo: 3, bar: 4}
[2] { foo: 5, bar: 6} 
[3] { foo: 6, bar: 7}

更新

后端有數百個,因此數組的大小不是固定的。 但是 object 始終是單個屬性加上一個數組。 這個 object 是 json object 和數組的組合。 我想要一個代碼來提取它。 現在我想從 object 中提取數組並將其分配給數組變量,以便循環遍歷它。 這意味着我必須擺脫第一個財產。

更新1

我希望通過代碼而不是硬代碼從原始 object 中提取新的 object,因為我們有許多動態大小的數組。

 [0] { foo: 1, bar: 2}
 [1] { foo: 3, bar: 4}
 [2] { foo: 5, bar: 6}

嘗試這個?

let superArray: [] = [];

const obj = {
     a: [{ foo: 1, bar: 2}],
     b: [{ foo: 3, bar: 4}],
     c: [{ foo: 5, bar: 6}] 
};

for (var array in obj) {
    superArray = superArray.concat(obj[array]);
}

console.log(superArray);

請參閱我對“已經問過”的評論

簡而言之:

var mm=[ 
  { foo: 1, bar: 2} , { foo: 3, bar: 4} ,  { foo: 5, bar: 6} , { foo: 6, bar: 7}
 ];
 mm.property="Hello world";
 console.log("\n1) IsArray ?------------");
 console.log( mm instanceof Array ? "Array":"Other...");
 console.log("2) see mm");
 console.log(mm);


 console.log("\nA------- all properties ---------");
 for (var i in mm) {
  if(mm.hasOwnProperty(i)) {
  console.log("property "+i+"=",mm[i]);
  }
 }


 console.log("\nB------ Array indexes ----------");
 for (var i=0; i<mm.length;i++) {
   console.log("property "+i+"=",mm[i]);
 }

 var mm2=JSON.parse(JSON.stringify(mm));
 mm2[9]="index 10???";
 console.log("\nC------ Array indexes ----------");
 for (var i=0; i<mm2.length;i++) {
   console.log("property "+i+"=",mm2[i]);
 }

output:

控制台輸出

建議

避免混合屬性和數組索引,使用補充屬性來存儲數組。

let myDatas={
 datas : [{xx:yy},{zz:ff}],
 title : "xxxx"
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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