第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在線等!現在有如下數組,我想把數組改變格式,怎么實現呢?求解答!

在線等!現在有如下數組,我想把數組改變格式,怎么實現呢?求解答!

胡說叔叔 2019-08-14 20:13:49
data(){return{arr:[{data:[1,2,3,4],name:"文字"},{data:[1,2,4,5],name:"熱巴"},{data:[1,8,3,2],name:"大大"}]}},我想轉換為letnewarr=[{data:[1,1,1],//數組中所有的1放在一個數組共了3個name:"文字"},{data:[2,2,2],//數組中所有的2放在一個數組共了3個name:"熱巴"},{data:[3,3],//數組中所有的3放在一個數組共了2個name:"大大"},{data:[4,4],//數組中所有的4放在一個數組共了2個name:"--"http://沒有name值為--},{data:[5],//數組中所有的5放在一個數組共了1個name:"--"},{data:[8],name:"--"},];dome的列子letarray1=[1,2,3,4,5];letarray2=[1,2,3,4,5];letarray3=[1,2,3,4,5];想要的是letarray=[{data:[1,1,1]},{data:[2,2,2]},{data:[3,3,3]},{data:[4,4,4]},{data:[5,5,5]}]這個怎么轉成為這個格式呢?我的需求比較特殊
查看完整描述

2 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

constresult=arr
//原數組
//=>[[1,2,3,4],[1,2,4,5],[1,8,3,2]]
//=>[1,2,3,4,1,2,4,5,1,8,3,2]
.flatMap(v=>v.data)
//再=>[,[1,1,1],[2,2,2],[3,3],[4,4],[5],,,[8]]
.reduce((all,v)=>{
consta=all[v]=all[v]||[];
a.push(v);
returnall;
},[])
//=>去掉
.filter(v=>v)
//轉成最終結果
.map((v,i)=>({
data:v,
//在原數組中找name,如果沒有,"--"
name:(arr[i]||{}).name||"--"
}));
console.log(result);
補充,flatMap如果不存在,這里有個簡化的(未處理容錯)
Array.prototype.flatMap=function(convert){
convert=convert||(x=>x);
returnthis.map(convert)
.reduce((acc,t)=>[...acc,...t],[]);
};
                            
查看完整回答
反對 回復 2019-08-14
  • 2 回答
  • 0 關注
  • 308 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號