javascript - [key1, value1, key2, value2, ...] 到对象的链

标签 javascript

我在寻找一种简单而优雅的方法来转换数组时有点卡住了

const array = ["k1", "v1", "k2", "v2"]
到一个对象
const obj = {"k1": "v1", "k2": "v2"}
只是寻找灵感

最佳答案

也许是老了for-loop ?
回顾建议的解决方案
for 循环(干净且可读)

const obj = {}
for (let i = 0; i < array.length; i += 2) {
  obj[array[i]] = array[i + 1]
}
Array.reduce(oneliner,但有点神秘)
const obj = array.reduce((acc, curval, idx, arr) => (idx % 2) == 0 ? 
                             (acc[curval] = arr[idx+1], acc) : acc, {});
_.chunk + Object.fromEntries
我最喜欢这个解决方案,但它有 lodash作为依赖。
如果 ES 可以在本地实现它会很酷 array.chunk(2)
Object.fromEntries(_.chunk(array))

关于javascript - [key1, value1, key2, value2, ...] 到对象的链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63513716/

相关文章:

javascript - HTML 表格不适用于 javascript 下拉框

javascript - 比较 JavaScript 中的值

javascript - 如何检查字符串是否在数组中?

javascript - 如何在reactjs上加载页面时显示组件

javascript - 在ajax中分组结果查询

javascript - HTML5 canvas 游戏将子弹射向鼠标点。

javascript - 浏览器自动填充选项与 Angular Material 自动完成选项重叠

javascript匹配()错误

javascript - jQuery:在滚动时平滑改变宽度

Javascript 自动释放资源(如 RAII)