将具有两个索引的数组转换为对象,其中 {array[0] : array[1]}



我正在尝试转动这个:const arr = ['last_updated_epoch', 1669949100]

{'last_updated_epoch': 1669949100}

我试过了:

const arr = ['last_updated_epoch', 1669949100]
arr.reduce((a, v) => ({ ...a, [v]: v}), {})

但我明白这个:

{1669949100: 1669949100, last_updated_epoch: 'last_updated_epoch'}

我想得到这个:

{'last_updated_epoch': 1669949100}

所以我可以在空数组中推送它并使用数组方法

您可以使用Object.fromEntries,尤其是当您需要翻译大量内容时。

Object.fromEntries([['last_updated_epoch', 1669949100]])
// this would be {'last_updated_epoch': 1669949100}

这是 MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries

似乎你把事情搞复杂了,为什么不直接使用let result = { [arr[0]] :arr[1] }呢?

const arr = ['last_updated_epoch', 1669949100]
let result = { [arr[0]] :arr[1] }
console.log(result)

像这样的东西

for (let i = 0 , i < arr.length - 1, i++) {
let obj = {};
obj[arr[i]] = arr[i+1]
}

相关内容

最新更新