我想在以下参数中传递键(mykey)

var dat =   sortMe(array,"mykey");


像这样运作

function sortMe(data,customname)
{
 sorted = Object.assign(...Object
        .entries(data)
        .sort(({ 1: { customname: a } }, { 1: { customname: b } }) => a - b)
        .map(([k, v]) => ({ [k]: v }))
    );

return sorted;
}


上面的代码不起作用,但是如果仅当我直接在如下函数名称中使用键名时才起作用

function sortMe(data,customname)
{
 sorted = Object.assign(...Object
        .entries(data)
        .sort(({ 1: { mykey : a } }, { 1: { mykey: b } }) => a - b)
        .map(([k, v]) => ({ [k]: v }))
    );

return sorted;
}

最佳答案

您要尝试执行的操作可以通过computed property name来实现:

{ [name]: value }


因此,更改此行:

.sort(({ 1: { customname: a } }, { 1: { customname: b } }) => a - b)


至:

.sort(({ 1: { [customname]: a } }, { 1: { [customname]: b } }) => a - b)

10-05 23:53