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