繁体   English   中英

Javascript 字典键不更新,如果从数组元素中使用

[英]Javascript dictionary keys not updating, if used from array element

有人可以帮我吗?

let keys = ['a', 'b', 'c'];
let data = [1, 2, 3];
let temp = [];
for(let i = 0; i < keys.length; i++){
  let key = keys[i];
temp.push({key: data[i]});
}
console.log(temp);

Output:

[ { key: 1 }, { key: 2 }, { key: 3 } ]

预期 OutPut:

[ { 'a': 1 }, { 'b': 2 }, { 'c': 3 } ]

尝试这个:

 let keys = ['a', 'b', 'c']; let data = [1, 2, 3]; result = keys.map((val,i)=>({[val]:data[i]})); console.log(result);

如果我理解您的问题,您可能需要将此更改添加到您的代码中

let keys = ['a', 'b', 'c'];
let data = [1, 2, 3];
let temp = [];
for(let i = 0; i < keys.length; i++){
  let key = keys[i];
temp.push({[key]: data[i]});
}
console.log(temp);

如果您需要动态密钥,则需要按照上述方式使用它。 否则,您刚刚创建了具有名为“key”的属性的对象。

你可以试试这个,它会工作

 let keys = ['a', 'b', 'c']; let data = [1, 2, 3]; let temp = []; for(let i = 0; i < keys.length; i++){ let key = keys[i]; temp.push({[key]: data[i]}); // small changes on this line } console.log(temp);

let keys = ['a', 'b', 'c'];
let data = [1, 2, 3];
let temp = [];
for(let i = 0; i < keys.length; i++){
  let key = keys[i];

temp.push({[key]: data[i]});
}
console.log(temp);

在“键”周围使用 []

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM