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

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

比較對象數組:Ramda方式

比較對象數組:Ramda方式

LEATH 2019-04-17 14:15:04
有2個對象數組,第一個是const blocks = [  { id: 1 },  { id: 2 },  { id: 3 },]第二個是const containers = [  { block: { id: 1 } },  { block: { id: 2 } },  { block: { id: 3 } },]我想獲取blocks數組,從中獲取每個對象,并查找containers數組是否具有此類ID的塊。因此,如果至少找不到一個id,那么我想斷開循環并返回false,否則如果發現所有id都返回true。我試圖用.some()函數實現這個,但是當找不到id時我無法打破循環。如果你建議Ramda實現這一點,我將不勝感激。謝謝。
查看完整描述

4 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

在非ramda方式中,您可以將每個對象與其他項進行比較并使用深度檢查。


const

    deep = id => o =>

        o && typeof o === 'object' && (o.id === id || Object.values(o).some(deep(id))),

    compare = (source, target) => source.every(({ id }) => target.some(deep(id))),

    blocks = [ { id: 1 }, { id: 2 }, { id: 3 }],

    containers = [{ block: { id: 1 } }, { block: { id: 2 } }, { block: { id: 3 } }]


console.log(compare(blocks, containers));


查看完整回答
反對 回復 2019-05-17
  • 4 回答
  • 0 關注
  • 588 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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