百度完看了一堆都是很简单的例子或者结果不是我想要的。
我的数据是这样的
[ {label:'ds',value:'d'} , {label:'aa',value:'b'} ]
然后想通过 reduce 转变成以下结果:
{ d:ds , b:aa }
reduce 方法平摊来看的话有四个参数
reduce( (total , current, index)=>{}, initialValue)
initialValue 是初始值,可选
total 是累积值,也就是要结果累加在一起的值 ,必选
current 是数组里遍历的当前值, 必选
index 是下标,可选
1.看思路一开始我是想
[{label:'ds',value:'d'},{label:'aa',value:'b'} ].reduce((tar,key,index)=>{ tar[key.value]=key.label})
image.png
2.原来是忘记reduce 加 return了
image.png
3.但是第一个还是 label和 value,怎么回事呢?原来是得传个初始值,不然第一次的时候就出错
image.png
[{label:'ds',value:'d'}].reduce((tar,key)=>{ tar[key.value]=key.label;return tar;}, {})
网友评论