我正在尝试获取技能中的名称。
为此,我使用过滤器进行初始级别排序。这意味着我可以对行进行排序,但如何获取名称?
let r = this.topics.filter(a => { console.log('a is : ', a) return a.Skills.name })
nafvub8i1#
我想您误解了Array.filter的功能,它从数组中过滤/删除与用户传递给它的条件不匹配的项,有关详细信息,请单击filter docs在本例中,您使用Array.map转换数据,更多信息请参见map docs。
Array.filter
Array.map
let r = this.topics.map(item => { return item.skills.map( skill => skill.name) })
上面的代码将返回类似[['Writing', 'Reading'], ['Testing', 'Debugging']]的内容
[['Writing', 'Reading'], ['Testing', 'Debugging']]
cwtwac6a2#
您可以使用Map和排序函数来实现这一点。
const topics = [{ Skills: [{ name: "Java", id: 1 }, { name: "C++", id: 2 }, { name: "Python", id: 3 } ] }] let r = topics.map((a) => { return a.Skills.sort((a, b) => { return a.name.localeCompare(b.name); }); }); console.log(r);
2条答案
按热度按时间nafvub8i1#
我想您误解了
Array.filter
的功能,它从数组中过滤/删除与用户传递给它的条件不匹配的项,有关详细信息,请单击filter docs在本例中,您使用
Array.map
转换数据,更多信息请参见map docs。上面的代码将返回类似
[['Writing', 'Reading'], ['Testing', 'Debugging']]
的内容cwtwac6a2#
您可以使用Map和排序函数来实现这一点。