使用JavaScript将二维数组转换为键值对象的实现方法
JavaScript二维数组转键值对对象实现方案
原有代码的错误点
- 变量声明关键字拼写错误:
cont应为const - 函数未设计入参,硬绑定外部数组,复用性差
obj变量定义在循环内部,作用域受限无法正常返回- 嵌套多余的for循环,下标
array[i][i]逻辑错误,额外的i++操作进一步打乱下标计数 - 调用函数时遗漏括号
(),直接打印函数对象而非执行结果
正确实现方式
最简实现(ES2019+ 兼容)
JS内置的Object.fromEntries()方法就是专门用来把键值对二维数组转为对象的,无需手动写遍历逻辑:
const inputArr = [['name', 'marcus'], ['address', 'New York']]; const result = Object.fromEntries(inputArr); console.log(result); // 输出 {name: 'marcus', address: 'New York'}
兼容低版本的手动实现
如果需要兼容ES2019之前的环境,可以手动遍历实现:
function objectify(arr) { const res = {}; arr.forEach(item => { const [key, value] = item; res[key] = value; }); return res; } // 测试用例 const testArr = [['c','2'],['d','4']]; console.log(objectify(testArr)); // 输出 {c: '2', d: '4'}
内容的提问来源于stack exchange,提问作者Vinne
相关产品推荐
相关产品推荐

