相关疑难解决方法(0)

按字符串属性值对对象数组进行排序

我有一个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()对象添加方法?

javascript arrays sorting

2535
推荐指数
44
解决办法
137万
查看次数

将JavaScript对象数组排序为特定顺序(使用现有函数)

给定一组对象:

{
    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
}

提供功能或算法的其他问题:

相似/相关问题:

javascript arrays sorting jquery underscore.js

23
推荐指数
3
解决办法
2万
查看次数

如何按数组字段值javascript对数组进行排序

我有以下数组:

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)

javascript

2
推荐指数
1
解决办法
85
查看次数

标签 统计

javascript ×3

arrays ×2

sorting ×2

jquery ×1

underscore.js ×1