将对象的对象转换为数组

时间:2020-02-14 09:35:47

标签: javascript html arrays angular typescript

我在Angular Project上工作,但是对象有点问题。

我有一个对象,里面有对象:

P3E051V:{
    lot: "P3E051V"
    quantite: 5400
},
P3E052V:{
    lot: "P3E052V"
    quantite: 5400
},
P3E054V:{
    lot: "P3E054V"
    quantite: 10800
}

我想做的就是显示一个这样的表: image of the table

但是我无法使用* ngFor在对象上循环。 我尝试使用Object.entries(myObject),但是它不起作用。

有人想解决这个问题吗?

谢谢

5 个答案:

答案 0 :(得分:0)

您可以使用Object.keys()来给出一个包含对象内部所有键的数组。您可以在循环时使用这些键从主对象中获取对象

var obj={P3E051V:{
    lot: "P3E051V",
    quantite: 5400
},
P3E052V:{
    lot: "P3E052V",
    quantite: 5400
},
P3E054V:{
    lot: "P3E054V",
    quantite: 10800
}
}
Object.keys(obj).forEach(e=>console.log(obj[e]))

答案 1 :(得分:0)

const objs = {P3E051V:{
    lot: "P3E051V",
    quantite: 5400
},
P3E052V:{
    lot: "P3E052V",
    quantite: 5400
},
P3E054V:{
    lot: "P3E054V",
    quantite: 10800
}}

console.log('the key + the object', Object.entries(objs));
console.log('just the internal object', Object.entries(objs).map(o => o[1]));

这是objectt.entries所做的

答案 2 :(得分:0)

只需将此对象放入数组 像array.push(object)

答案 3 :(得分:0)

const inputObject = {
  P3E051V:{
    lot: "P3E051V",
    quantite: 5400
  },
  P3E052V:{
    lot: "P3E052V",
    quantite: 5400
  },
  P3E054V:{
    lot: "P3E054V",
    quantite: 10800
  }
}

const outputObjectArray = Object.entries(inputObject).map(entry=>{ return entry[1]});
console.log(outputObjectArray);

答案 4 :(得分:0)

我尝试使用 Object.keys(obj).map(key => obj [key]),它可以正常工作 谢谢您的帮助