Javascript 转换数组的数组,并返回一个对象,其中数组中的每对元素都作为键值对
输入: 我的输出应该是这样的:Javascript 转换数组的数组,并返回一个对象,其中数组中的每对元素都作为键值对,javascript,arrays,Javascript,Arrays,输入: 我的输出应该是这样的: var array = [["make", "BMW"], ["model","X6"], ["year",2020]]; 您可以使用Object.fromEntries() const arr=[[“制造”、“宝马”]、[“车型”、“X6”]、[“年份”,2020]; const res=Object.fromEntries(arr); console.log(res) const数组=[[“制造”、“宝马”]、[“车型”、“X6”]、[“年份”,2020]
var array = [["make", "BMW"], ["model","X6"], ["year",2020]];
您可以使用
Object.fromEntries()
const arr=[[“制造”、“宝马”]、[“车型”、“X6”]、[“年份”,2020];
const res=Object.fromEntries(arr);
console.log(res)
const数组=[[“制造”、“宝马”]、[“车型”、“X6”]、[“年份”,2020];
设obj={}
for(数组的let项){
obj[项目[0]]=项目[1]
}
console.log(obj)
如果您不介意使用Map
,这正是构造函数采用的格式。。例如<代码>var m=新映射(数组)代码><代码>控制台日志(m.make)=>BMW
为什么要在每个循环中创建新对象,而不是简单地分配obj[item[0]]=item[1]
@adiga-modified-answer。spread运算符是否将newkey val
对附加到同一obj?您正在创建新的对象文字{…obj[item[0]]:item[1]}
,并重新分配变量obj
。当您不想变异obj
时,Spread很有用。因为您要重新分配回obj
,所以这里不需要它。
var object = {
make : “BMW”
model : “X6”,
year : 2020
}