Javascript 输出中数组到对象列表的数组(无额外数组)
以和为指导,我试图编写一个函数,结果是 获取此数组列表的数组:Javascript 输出中数组到对象列表的数组(无额外数组),javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,以和为指导,我试图编写一个函数,结果是 获取此数组列表的数组: var list = [['name', 'Sparky'], ['breed', 'lab'], ['age', 4]]; 并将其转化为: { name : 'Sparky' breed : 'lab', age : 4 } 但是,当我运行下面的代码时: var列表=[ ['name','Sparky'], [‘品种’、‘实验室’], [‘年龄’,4] ]; 函数对象(数据){ var keys=data.shi
var list = [['name', 'Sparky'], ['breed', 'lab'], ['age', 4]];
并将其转化为:
{
name : 'Sparky'
breed : 'lab',
age : 4
}
但是,当我运行下面的代码时:
var列表=[
['name','Sparky'],
[‘品种’、‘实验室’],
[‘年龄’,4]
];
函数对象(数据){
var keys=data.shift(),
i=0,
k=0,
obj=null,
输出=[];
对于(i=0;i log(toObjects(data))
您可以使用map函数来实现这一点
var list=[['name'、['Sparky']、['bride'、[lab']、['age',4]];
var newObj=新对象();
列表.forEach(函数(arr){
newObj[arr[0]]=arr[1];
});
log(newObj)
我将使用它来执行转换和参数。看一看,代码非常简单:)
let list=[
['name','Sparky'],
[‘品种’、‘实验室’],
[‘年龄’,4]
];
函数对象(数据){
//reduce遍历“data”数组中的每个元素
//并将其累积到对象中
让initialValue={};
返回数据.reduce((obj,[键,值])=>{
obj[键]=值;
返回obj;
},initialValue);//这可以与`{}连成一行`
}
风险值数据=[
['name','Sparky'],
[‘品种’、‘实验室’],
[‘年龄’,4]
];
console.log(toObjects(list))
然后将output
定义为{}
,而不是obj[..][..]
dooutput[..][..]
你不能list.reduce((acu,curVal)=>{acu[curVal[0]]=curVal[1];return acu;},{})
?我不认为OP正在寻找替代方案。这个问题的目的是将输出作为Object而不是array.Downvote,因为您使用的是array.map
,而不返回任何内容和赋值。这只是浪费了Array.map
。如果您只想处理数组,请使用array.forEach
newObj[arr[0]]=arr[1]代码>在map
数组中使用。map
用于基于当前值映射值。您没有返回.map
中的任何内容,因此它将返回未定义的。您也没有在任何地方保存输出。这是.forEach
的经典案例。您代表的用户应该知道this@Rajesh我只是想给它起个名字来说明发生了什么。我会把它重新命名为hanks@Rico,这就是我要找的!!谢谢大家的帮助!!谢谢你!