我想在以下参数中传递键(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)