javascript - 在函数参数中传递对象键名称

标签 javascript

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

关于javascript - 在函数参数中传递对象键名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59992678/

相关文章:

javascript - 在新位置更改时更新 map 上的标记位置 - React Native

javascript - 动态 float 气泡..使用Jquery

javascript - 在 VBScript 或 Javascript 中防止 HTA 窗口关闭

php - 为什么在IE中使用XFBML注册插件会出现空白?

javascript - 保留旧类别并切换新类别

javascript - 创建 JavaScript 属性

javascript - 如何使用 JavaScript 将 HTML 表格转换为 Excel 文件?

javascript - 如何从 Dropdown 中选择具有 SELECT OPTION 标签的元素?

javascript - - JavaScript 运行时错误 : Object doesn't support property or method 'datetimepicker'

javascript - 如何在javascript中获取焦点元素的Id