我正在使用React js和Javascript。
我有这个对象文字:
artistList = {
artist: [
0:{name: 'Quirby', role: 'main'},
1:{name: 'Jose', role: 'feature'}
],
writer: [
0:{name: 'Erik', role: 'publisher'},
1:{name: 'Cairo', role: 'composer'},
2:{name: 'Erik', role: 'song_writer'}
]
}
我想把角色加入到一个同名作家的数组中,就像这样:
artistList = {
artist: [
0:{name: 'Quirby', role: 'main'},
1:{name: 'Jose', role: 'feature'}
],
writer: [
0:{name: 'Erik', role: ['publisher', 'song_writer']},
1:{name: 'Cairo', role: 'composer'}
]
}
有什么主意吗?
我想在一个新的数组中加入同一个作者的角色,我不知道如何检查它们是否具有相同的名称并转换我的数组。
1条答案
按热度按时间gmxoilav1#
要完成此操作,可以使用JavaScript中的
map
和reduce
方法来迭代writer
数组中的对象,并创建具有所需格式的新数组。下面是一个示例,说明如何执行此操作:
在上面的代码中,我们使用
map
方法迭代artistList
对象中的writer
数组。对于数组中的每个对象,我们使用reduce
方法按名称对对象进行分组,并为该writer
创建一个包含角色的新数组。然后返回一个包含名称和角色数组的新对象。最后,我们用新数组更新artistList
对象中的writer
数组。