【发布时间】:2019-01-15 06:12:51
【问题描述】:
我正在尝试根据标题字段中“餐厅”字符串的位置对对象数组进行排序
var test = [{
title: 'Roy Restaurant'
},
{
title: 'Restaurant'
},
{
title: 'Roy Mega Restaurant'
}
];
console.log(test.sort(function(a, b) {
return a.title.toLowerCase().indexOf('restaurant') > b.title.toLowerCase().indexOf('restaurant');
}));
所以我的预期输出是什么
var test = [
{
title : 'Restaurant'
},
{
title : 'Roy Restaurant'
},
{
title : 'Roy Mega Restaurant'
}
];
所以按它们的indexOf 值对它们进行排名。上面,第一项indexOf 的值为0,所以它必须是第一项,第二项Roy Restaurant,因为单词出现次数少于第三项。
有什么建议吗?
【问题讨论】:
-
有什么问题?运行代码并确认它是否按预期工作
-
你忘了问问题。您需要什么帮助?
-
@Teemu 我误解了问题。我想我们必须按字母顺序排序。因此将其标记为欺骗但即将撤回投票,因为我们必须根据索引位置进行排序。不过,我仍然对 OP 正在寻找什么感到困惑。提供的代码工作正常
标签: javascript arrays sorting