我使用Angular InMemoryService存储一些虚假数据。我想将“ HashtagDB”属性转换为数组“ hashtags”。该“标签”数组应仅包含值,而不包含标签,以便我可以将其显示为“角材料块”。
据我了解,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*/];
答案 0 :(得分:0)
您可以使用 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"
]*/