Javascript 按字符串对嵌套对象进行排序(多次)
我有两个非常嵌套的对象,我想根据它们是否包含字符串对它们重新排序。理想情况下,我希望根据它们是否有任意数量的字符串对它们进行多次重新排序 我想按一个类别对它们进行重新排序,然后再按另一个类别对列表进行两次排序(我知道这不是一个很好的说法) 顶级对象Javascript 按字符串对嵌套对象进行排序(多次),javascript,node.js,sorting,object,lodash,Javascript,Node.js,Sorting,Object,Lodash,我有两个非常嵌套的对象,我想根据它们是否包含字符串对它们重新排序。理想情况下,我希望根据它们是否有任意数量的字符串对它们进行多次重新排序 我想按一个类别对它们进行重新排序,然后再按另一个类别对列表进行两次排序(我知道这不是一个很好的说法) 顶级对象 [ { name: { en: 'Even Mini-er Cooper (test)' }, categories: { en: [Array] }, }, { name: { en: 'Mini Cooper
[
{
name: { en: 'Even Mini-er Cooper (test)' },
categories: { en: [Array] },
},
{
name: { en: 'Mini Cooper' },
categories: { en: [Array] },
}
]
如何获得我想要比较的东西
products.map(o => o.fields.categories.en.map(o => o.fields.name));
[
[
{ en: '13+ / Movies/Animations/SciFi - Cartoons' },
{ en: '13+ / Movies/Animations/SciFi' }
],
[
{ en: '13+ / Coding & Gaming' },
{ en: '13+ / Coding & Gaming - Boost' }
]
]
我已经查看了lodash的.orderBy
和.sortBy
——但我看不出如何添加搜索参数
感谢您提供的任何见解预期输出和确切输入是什么?“对列表进行两次排序”没有真正意义,但如果您的意思是“排序一次,然后对第一次排序中相等的项目进行排序”,则可以这样做。不管嵌套是什么,使用您提到的
lodash
函数都应该可以实现这一点,但当前问题中存在太多的模糊性,无法提供更多帮助。如果您包括一个(或几个)输入/输出示例,我相信我们能够提供帮助