亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

急求!?。?!一個JavaScript數組去重的例子,看不大懂

急求?。。?!一個JavaScript數組去重的例子,看不大懂

呼如林 2019-06-20 10:39:36
在MDN看到的一個例子,新手前端有點兒看不懂,希望有人可以稍微指點一下?functioncombine(){letarr=[].concat.apply([],arguments);//沒有去重復的新數組returnArray.from(newSet(arr));}varm=[1,2,2],n=[2,3,3];console.log(combine(m,n));//[1,2,3]主要是combine(m,n)這里有點不大明白參數是怎么傳入函數的?還有letarr=[].concat.apply([],arguments)這里也不大明白實現原理以及為什么不直接[...newSet(arr)]來進行數組去重???上面的方法比這種要好在哪里呢?
查看完整描述

2 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

combine函數沒有定義參數,是直接從arguments里面取的,這樣更具靈活性,同樣也會讓調用者不明白這個函數的到底應該怎么傳參,這個還是看自己怎么取舍吧。使用arguments,你可以傳入多個數組,不限制于參數列表。
[].concat.apply([],arguments),是因為arguments不是數組,只算是個類數組,使用使用apply的方法,將參數里面的多個數組進行concat合并。
最后通過newSet(arr)對數組去重,出重完成后返回的值也是類數組,所以再加一層Array.from,保證最后輸出的是數組形式。
不知道這樣講,你沒有清楚。
                            
查看完整回答
反對 回復 2019-06-20
  • 2 回答
  • 0 關注
  • 350 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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