迭代对象数组属性的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代对象数组属性的值相关的知识,希望对你有一定的参考价值。

我使用Angular InMemoryService来存储一些假数据。我想将“HashtagDB”属性转换为数组“hashtags”。这个“hashtags”数组应该只包含值,而不是标签,这样我就可以用它来显示它作为Angular-Material-Chips。

据我所知,HashtagDB是一个未命名对象的数组属性。那是对的吗?如何转换数组中的数据?

export class InMemoryDataService implements InMemoryDbService 
  createDb() 
    const person = [
       Id: 1,
        HashtagsDB: [ hashtag: 'world', hashtag: 'digital', hashtag: 'economy',
    ];
    return person;
  

hashtags: string[] = [/*'world', 'digital', 'economy*/];
答案

您可以使用map运算符将HashtagsDB投影到字符串[]。

var people = [
  
    ID: 1, 
    HashtagsDB: [hashtag: 'world', hashtag: 'digital', hashtag: 'economy']
  
];

// Hashtags of the first person.
var hashtags = people[0]['HashtagsDB'].map(item => item['hashtag']);

console.log(hashtags);
// Should returns
/*[
  "world",
  "digital",
  "economy"
]*/

以上是关于迭代对象数组属性的值的主要内容,如果未能解决你的问题,请参考以下文章

Javascript - 对象值的数组使用迭代的最后一个值

C++:用于超重对象的方便的基于指针数组的值迭代器

如何在UL中迭代使用appendChild和片段LI?

迭代器对象numpy.nditer在数组上进行迭代——修改数组的值

使用 Symbol 键遍历对象属性

如何使用把手 (hbs) 迭代嵌套数组和对象?