Javascript 在对象数组中对数组进行排序
你好,我有一个数组的形式,我在我的流星模板显示Javascript 在对象数组中对数组进行排序,javascript,arrays,sorting,dictionary,Javascript,Arrays,Sorting,Dictionary,你好,我有一个数组的形式,我在我的流星模板显示 var data = [{text_name:'My life', score: [{name : 'james',score: 10}, {name : 'john',score : 40}, {name : 'Abu',score : 80}]}, {text_name:'The game real', score: [{name : 'penny',score: 30}
var data = [{text_name:'My life',
score: [{name : 'james',score: 10},
{name : 'john',score : 40},
{name : 'Abu',score : 80}]},
{text_name:'The game real',
score: [{name : 'penny',score: 30}
{name : 'john',score : 20} ,
{name : 'Abu',score : 30}] }]
我想对score
键进行排序,它是一个按降序排列的对象数组。使用文本中的示例数据\u name:“我的生活”
我希望首先显示阿布的分数,因为他得分最高
我已尝试使用此链接上的代码进行排序。尝试使用排序方法: 还要注意,正如评论中提到的,这不是有效的JS,我在上面发布的示例中添加了正确的格式
如果我理解正确的话,您要做的是让每个列表在其内部排序 下面是您需要做的:
// iterate over data
for (var i = 0; i < data.length; i++) {
var item = data[i];
// sort the item's score
item.score.sort(function(a, b) {
return b.score - a.score;
});
}
//迭代数据
对于(变量i=0;i
这不是有效的JavaScript。请修复,以便我们了解您的意思(是score:[…
?)此外,如果您尝试过,请发布出错的地方。还有,为什么要标记此内容?这不是有效的JavaScript。第一个score:30}
后缺少逗号。我可以通过执行b.score.score-A.score.score使其正常工作。非常感谢您的帮助。
// iterate over data
for (var i = 0; i < data.length; i++) {
var item = data[i];
// sort the item's score
item.score.sort(function(a, b) {
return b.score - a.score;
});
}