Javascript 如何将代码重写为对象数组
我有这样一个代码:Javascript 如何将代码重写为对象数组,javascript,arrays,object,Javascript,Arrays,Object,我有这样一个代码: var data =[ [{qText:"A"},{qText:"type1"},{qText: 5}], [{qText:"A"},{qText:"type2"},{qText: 3}], [{qText:"A"},{qText:"type3"},{qText: 5}], ....... ] 我怎样才能把它改写成这样 var data = [ { team: "A", type1: "5", type2: "3", type3: "5" },
var data =[
[{qText:"A"},{qText:"type1"},{qText: 5}],
[{qText:"A"},{qText:"type2"},{qText: 3}],
[{qText:"A"},{qText:"type3"},{qText: 5}],
.......
]
我怎样才能把它改写成这样
var data = [
{ team: "A", type1: "5", type2: "3", type3: "5" },
{ team: "B", type1: "0", type2: "3", type3: "3" },
{ team: "C", type1: "8", type2: "2", type3: "4" },
];
您可以使用这些对象来分解数组,并在结果集中找到同一个团队,或者添加一个新对象。然后将字符串值指定给给定的键
var data=[{qText:A}、{qText:type1}、{qText:5}、{qText:A}、{qText:type2}、{qText:3}、{qText:A}、{qText:type3}、{qText:5}、{qText:B}、{qText:type1}、{qText:0}、{qText:type2}、{qText:B}、{qText:3}、{qText:type2}、{qText:3}、{qText:,{qText:“type1”}、{qText:8}、{qText:“C”}、{qText:“type2”}、{qText:2}、{qText:“C”}、{qText:“type3”}、{qText:4}],
result=data.reduce((r,[{qText:team},{qText:key},{qText:value}])=>{
var temp=r.find(o=>o.team==team);
if(!temp)r.push(temp={team});
temp[key]=value.toString();
返回r;
}, []);
console.log(结果);
.as console wrapper{max height:100%!important;top:0;}
到目前为止您是否尝试过任何东西?很抱歉,我不明白您的输入是如何转化为输出的……B和C来自何方?以及所有其他出现在out中但未出现在输入中的值?您能否提供a-或者至少显示一些尝试?