我可不想这样用for循环把Object转成Array!如果加倍处理并降低应用程序的性能(我正在使用 Ionic2 和 Typescript,以及 Firebase)
for(输入数据){ array.push(值);
是否有使用 *ngFor 迭代对象本身(如附图所示)的解决方案。
或者我可以将此对象(如附图所示)转换为数组,以便可以在 *ngFor 中进行迭代。
最佳答案
您可以使用Object.keys(obj) 来获取命名索引。这将返回一个数组结构,您可以进一步使用/自定义它。用于遍历对象值的示例可能如下所示
var persons = {
john: { age: 23, year:2010},
jack: { age: 22, year:2011},
jenny: { age: 21, year:2012}
}
获取迭代器
var resultArray = Object.keys(persons).map(function(personNamedIndex){
let person = persons[personNamedIndex];
// do something with person
return person;
});
// you have resultArray having iterated objects
关于javascript - Typescript Convert Object to Array - 因为 *ngFor 不支持对象的迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41458400/