我不确定我是否正确编写了这个问题。..我有以下对象数组:
[
{
foo: 'Google',
bar: 'Bing',
pro: [
'One',
'Two',
'Three'
]
},
{
foo: 'Random string',
bar: 'Something',
pro: [
'Five'
]
},
{
foo: 'String',
bar: 'Game',
pro: [
'Ten',
'One'
]
},
// ...
]
我需要通过pro
属性对它进行排序,其中任何数组元素都包含text
。数组元素的数量未知,但至少为1。
我坚持逻辑的地方:
var text = 'On';
var results = arr.sort(function(a, b) {
// do another loop, than count and than check?
});
在此示例中,在成功执行排序功能之后,对象的顺序应变为0, 3, 2
或3, 0, 3
,因为其中有两个On
。
感谢您的帮助
答案 0 :(得分:1)
您可以编写一个简短函数,以检查值是否以text
开头,然后将其用作排序函数中pro.some()
的输入,在{之前将b
排序{1}}以降序排列。
a