Javascript 如何将键数组附加到对象?
我有一个字符串数组和一个类似这样的params对象。如何创建参数常量?使用forEach、map和or过滤器Javascript 如何将键数组附加到对象?,javascript,Javascript,我有一个字符串数组和一个类似这样的params对象。如何创建参数常量?使用forEach、map和or过滤器 key = ['dog', 'car', 'cat']; value = [ 3, 1, 2 ]; const params = { item: { [key]: value[0], // more keys to be appended } } 可以使用以下语法设置对象的键: obj[key]
key = ['dog', 'car', 'cat'];
value = [ 3, 1, 2 ];
const params = {
item: {
[key]: value[0],
// more keys to be appended
}
}
可以使用以下语法设置对象的键:
obj[key] = value
因此,在您的情况下,您可以做如下操作:
key = ['dog', 'car', 'cat'];
value = [ 3, 1, 2 ];
var params = {
item : {}
}
for (var i=0; i<key.length;i++){
params.item[key[i]] = value[i];
}
key=['dog'、'car'、'cat'];
值=[3,1,2];
变量参数={
项目:{}
}
对于(var i=0;i您可以这样做:
value.reduce((acc, val, index) => (acc[key[index]] = val, acc), {});
这将产生:
{dog:3,car:1,cat:2}只是循环遍历每个值:
const key=['dog'、'car'、'cat'];
常量值=[3,1,2];
常量项={};
key.forEach((k,i)=>{item[k]=value[i];});
常数parmas={};
parmas.item=项目;
console.log(parmas);
您希望结果是什么?[key]
不适用于数组。您需要将其写成{[key[0]]:value[0],[key[1]]:value[1],…}
。或者是的,只需使用循环并从空对象开始动态分配属性。无需手动输入每个键值对即可生成参数。我这样做的原因是,有时我的键值对可能有几十个,我希望根据有多少个键值对来动态创建它。我正在尝试插入将它转换到数据库中,以便根据有多少属性生成列。