Javascript 将数组转换为具有相应索引作为键的对象
这是一个非常简单的问题,但我没有找到任何答案或函数来解释这种情况。我有一个简单的数组:Javascript 将数组转换为具有相应索引作为键的对象,javascript,arrays,object,lodash,Javascript,Arrays,Object,Lodash,这是一个非常简单的问题,但我没有找到任何答案或函数来解释这种情况。我有一个简单的数组: ["Desc1", "Desc2", "Desc3", "Desc4", "Desc5"] 我想将其转换为这样的对象: {0: "Desc1", 1: "Desc2", 2: "Desc3", 3: "Desc4", 4: "Desc5"} 我可以使用Lodash,但不能使用ES6,这是一个简单的单行程序 const a=[“Desc1”、“Desc2”、“Desc3”、“Desc4”、“Desc5”]
["Desc1", "Desc2", "Desc3", "Desc4", "Desc5"]
我想将其转换为这样的对象:
{0: "Desc1", 1: "Desc2", 2: "Desc3", 3: "Desc4", 4: "Desc5"}
我可以使用Lodash,但不能使用ES6,这是一个简单的单行程序
const a=[“Desc1”、“Desc2”、“Desc3”、“Desc4”、“Desc5”];
constr=Object.assign({},a);
控制台日志(r)代码>使用
函数。使用对象的键添加索引
var arr=[“Desc1”、“Desc2”、“Desc3”、“Desc4”、“Desc5”];
var obj={};
arr.forEach(函数(a,b){
obj[b]=a
})
log(obj)
另一种方法是使用
var输出=[“Desc1”,“Desc2”,“Desc3”,“Desc4”,“Desc5”]。减少(函数(a,b,i){
(a=typeof a==“string”?{[i-1]:a}:a),a[i]=b;
返回a;
});
控制台日志(输出)代码>
var arr=[“Desc1”、“Desc2”、“Desc3”、“Desc4”、“Desc5”];
var obj=arr.REDUCT(功能(累加器、电流值、电流指数){
累加器[当前索引]=当前值;
回流蓄能器;
}, {});
控制台日志(obj)代码>对数组应用forEach()方法怎么样
var obj={}//声明一个空对象
var array=[“Desc1”、“Desc2”、“Desc3”、“Desc4”、“Desc5”]//将数组存储在变量中
forEach(函数(项、索引){
obj[index+1]=item;//将项存储在具有相应编号的属性中
});
控制台日志(obj)代码>您可以使用带有索引计数器的for
循环
var数组=[“Desc1”、“Desc2”、“Desc3”、“Desc4”、“Desc5”],
i=0;
对象={};
for(数组的对象[i++]);
console.log(对象)你试过什么吗?为什么?有什么东西是对象可以做而数组不能做的吗?它已经是这样一个对象了。我们应该不允许OP分担工作吗?不费吹灰之力的回答促进了填鸭式的喂食。数组中的数字键在内部实际上是字符串。@Pointy所以实际上保持这种方式是可以的?总之,已编辑。@Rajesh谢谢修复:-)。之前在我的手机上打出来没有回复