首页 > 解决方案 > 为什么使用循环中的“键”在for循环中创建一个新对象作为键返回?

问题描述

我一直在寻找 javascript 大约半年了,但我遇到了一些我有点困惑的东西。我以前没有这样做过,所以我不确定这里发生了什么。我正在尝试在另一个对象的 for 循环中创建一个新对象。当我创建名为 的新对象value时,我希望我的键名与当前循环中的键名相同;但是,我得到的只是取回密钥,而如果我只是通过控制台将其注销,那么它就是我想要的密钥名称。这里发生了什么?我确信这背后有一个我还没有听说过的原因。

const testObj = (something => {
  for (let key in something) {
    let value = {key: something[key]};
    console.log(key);
    console.log(value);
  }
})

let test = {'name': 'yomam', 'address': 'camelbak'};
console.log(testObj(test));
/*
name
{ key: 'yomam' }
address
{ key: 'camelbak' }
*/

标签: javascriptobject

解决方案


让值 = {[key]: something[key]};

这会将对象的键设置为循环的键


推荐阅读