我有一个JavaScript对象数组:
var objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
Run Code Online (Sandbox Code Playgroud)
如何根据last_nomJavaScript中的值对它们进行排序?
我知道sort(a,b),但这似乎只适用于字符串和数字.我是否需要为toString()对象添加方法?
给定一组对象:
{
key: "a",
value: 42
},
{
key: "d",
value: 28
},
{
key: "c",
value: 92
},
{
key: "b",
value: 87
}
和一组键:
["c", "a", "b", "d"]
Run Code Online (Sandbox Code Playgroud)
是否有ECMAScript函数或第三方JavaScript库,允许您在一行/函数调用中排序第一个对象数组,以匹配第二个数组中指定的键的顺序,结果是:
{
key: "c",
value: 92
},
{
key: "a",
value: 42
},
{
key: "b",
value: 87
},
{
key: "d",
value: 28
}
提供功能或算法的其他问题:
相似/相关问题:
我有以下数组:
var objs = [
{ id: 'X82ns', name: 'james', presence: 'online' },
{ id: '8YSHJ', name: 'mary', presence: 'offline' },
{ id: '7XHSK', name: 'rene', presence: 'online' }
];
Run Code Online (Sandbox Code Playgroud)
我想对数组进行排序,以便它通过'presence'返回一个新数组:'online'用户首先在离线项目之前显示.
所以如果排序,它应该返回这样的东西:
var objs = [
{ id: 'X82ns', name: 'james', presence: 'online' },
{ id: '7XHSK', name: 'rene', presence: 'online' },
{ id: '8YSHJ', name: 'mary', presence: 'offline' }
];
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
const newArray = objs.sort((a, b) => {
if (a.presence === 'online') {
return 1;
} else if (b.presence …Run Code Online (Sandbox Code Playgroud)