【发布时间】:2019-12-30 16:18:29
【问题描述】:
我有一个如下所示的数组:
{ username: 'usernameadw',
rank: 'rookie',
points: 891
},
{ username: 'username662',
rank: 'rookie',
points: 999
},
{ username: 'usernameabd8a',
rank: 'knight',
points: 2393
},
{ username: 'usernamev88',
rank: 'mage',
points: 1673
},
{ username: 'abcusername123',
rank: 'mage',
points: 1483
}
我想知道如何将这些数组拆分为“mageArray”、“knightArray”、rookieArray 等数组,然后对每个数组按每个对象从高到低的点数对它们进行排序?
到目前为止,我已尝试使用此代码,但它不起作用。我试图做的是从带有信息的大数组中创建一个新对象,然后如果等级名称匹配,则将其推送到另一个数组
var obj = new Object({
username: usersRows[i].username,
rank: usersRows[i].rank,
points: usersRows[i].points
});
if (usersRows[i].rank === 'mage') { mageArray.push(obj); }
【问题讨论】:
-
你为什么把它标记为mysql?
-
@nacho 我正在接收来自 mysql 查询的数组,如果这有助于以任何方式解决问题。
-
在选择状态中排序
-
看来你有两个问题;如何根据属性值(break array of objects into separate arrays based on a property)将数组拆分为三个单独的数组以及如何根据属性值对数组进行排序(Sorting an array of objects by property values)
标签: javascript arrays node.js