Javascript NodeJS中的动态对象属性名称

Javascript NodeJS中的动态对象属性名称,javascript,node.js,Javascript,Node.js,我有这样一个数组: rules[0] = "a"; rules[1] = "b"; rules[2] = "c"; 以及一个对象数据,其值为value-a,value-b,value-c(最后一个字母来自“规则”) 我知道你可能会建议使用数组,但我真的需要它们是普通属性。如何创建这些由字符串“value-”和变量值组成的动态属性名称 for r in rules { data.value-??? = "something"; } 试试这个: const data = rules.redu

我有这样一个数组:

rules[0] = "a";
rules[1] = "b";
rules[2] = "c";
以及一个对象
数据
,其值为
value-a
value-b
value-c
(最后一个字母来自“规则”)

我知道你可能会建议使用数组,但我真的需要它们是普通属性。如何创建这些由字符串“value-”和变量值组成的动态属性名称

for r in rules {
  data.value-??? = "something";
}
试试这个:

const data = rules.reduce((dict, key) => {
    dict[`value-${key}`] = 'something';
    return dict;
}, {});
var data = {};
var rules = ['a', 'b', 'c', 'd'];
rules.forEach(function(rule) {
  data['value-'+rule] = "something";
});
console.log(data);
您可以使用语句,它使用元素

var规则=[“a”、“b”、“c”],
数据={};
for(让我们来看看规则){
数据['value-'+r]=“某物”;
}
console.log(数据);
尝试以下操作:

const data = rules.reduce((dict, key) => {
    dict[`value-${key}`] = 'something';
    return dict;
}, {});
var data = {};
var rules = ['a', 'b', 'c', 'd'];
rules.forEach(function(rule) {
  data['value-'+rule] = "something";
});
console.log(data);
数据[“值-”+r]=“某物”