如何在javascript中通过参数更改属性名称



我有一些功能:

function funcName(first_data, SECOND_DATA) {
    // ...some code here...
    data: {dontMatterProp: dontMatterVal, SECOND_DATA: SECOND_DATA},
    // ...some code.....
}

我需要我的属性名称 'SECOND_DATA'改变了!例如,在php中,可以这样做{SECOND_DATA}…

你的问题有点不清楚,但我认为这样的东西是你正在寻找的:

function funcName(first_data, SECOND_DATA_KEY, SECOND_DATA_VALUE) {
  // ...some code here...
  x = {}
  x.data = {dontMatterProp: dontMatterVal}
  x.data[SECOND_DATA_KEY] = SECOND_DATA_VALUE
  // ...some code.....
}

如果你只想让键等于值,你可以直接写

x.data[SECOND_DATA] = SECOND_DATA

但这有点奇怪。为什么要将某物映射到自身?不需要值,如果是这种情况,您只需验证键是否存在…

你可以在javascript中使用括号来表示动态键。

var x = {}
x['something'] = 'test'
// x === { 'something': 'test' }
x[something] = 'test2'
// error: something is undefined
var something = 'hello'
x[something] = 'test3'
// x === { 'something': 'test', 'hello': 'test3' }

希望有帮助?

我想你要:

data[SECOND_DATA] = SECOND_DATA; // assign the value

如果你只使用:

var data = { SECOND_DATA: SECOND_DATA };

使用对象表示法-属性名将始终是SECOND_DATA

相关内容

  • 没有找到相关文章

最新更新