简体   繁体   English

如何组合两个反应对象?

[英]How can I combine two react objects?

const a = [

0: {market: "KRW-BTC", korean_name: "비트코인", english_name: "Bitcoin"}
1: {market: "KRW-ETH", korean_name: "이더리움", english_name: "Ethereum"}
2: {market: "KRW-NEO", korean_name: "네오", english_name: "NEO"}
3: {market: "KRW-MTL", korean_name: "메탈", english_name: "Metal"}
4: {market: "KRW-LTC", korean_name: "라이트코인", english_name: "Litecoin"}
5: {market: "KRW-XRP", korean_name: "리플", english_name: "Ripple"}
6: {market: "KRW-ETC", korean_name: "이더리움클래식", english_name: "Ethereum Classic"}
7: {market: "KRW-OMG", korean_name: "오미세고", english_name: "OmiseGo"}
8: {market: "KRW-SNT", korean_name: "스테이터스네트워크토큰", english_name: "Status Network Token"}
9: {market: "KRW-WAVES", korean_name: "웨이브", english_name: "Waves"}
10: {market: "KRW-XEM", korean_name: "넴", english_name: "NEM"}
11: {market: "KRW-QTUM", korean_name: "퀀텀", english_name: "Qtum"}
12: {market: "KRW-LSK", korean_name: "리스크", english_name: "Lisk"}
]



const b = [

0: {market: "KRW-BTC", trade_date: "20210506", trade_time: "144435", trade_date_kst: "20210506", trade_time_kst: "234435", …}
1: {market: "KRW-ETH", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
2: {market: "KRW-NEO", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
3: {market: "KRW-MTL", trade_date: "20210506", trade_time: "144432", trade_date_kst: "20210506", trade_time_kst: "234432", …}
4: {market: "KRW-LTC", trade_date: "20210506", trade_time: "144433", trade_date_kst: "20210506", trade_time_kst: "234433", …}
5: {market: "KRW-XRP", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
6: {market: "KRW-ETC", trade_date: "20210506", trade_time: "144437", trade_date_kst: "20210506", trade_time_kst: "234437", …}
7: {market: "KRW-OMG", trade_date: "20210506", trade_time: "144437", trade_date_kst: "20210506", trade_time_kst: "234437", …}
8: {market: "KRW-SNT", trade_date: "20210506", trade_time: "144434", trade_date_kst: "20210506", trade_time_kst: "234434", …}
9: {market: "KRW-WAVES", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
10: {market: "KRW-XEM", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
11: {market: "KRW-QTUM", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
12: {market: "KRW-LSK", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436", …}
]

There are two like this, and I want to merge them based on the 'market'.有两个这样的,我想根据“市场”合并它们。 Is there any way to merge??有什么办法合并吗?? I'm not sure because I'm a beginner in React.我不确定,因为我是 React 的初学者。

something like that:类似的东西:

const c = a.map(_a => {
    const foundB = b.find(_b => _a.market===_b.market)
    return foundB ? {..._a,...foundB} : _a
})

You can try this.你可以试试这个。 There might be a better way to do this.可能有更好的方法来做到这一点。 Thank you.谢谢你。

 const a = [ {market: "KRW-BTC", korean_name: "비트코인", english_name: "Bitcoin"}, {market: "KRW-ETH", korean_name: "이더리움", english_name: "Ethereum"}, {market: "KRW-NEO", korean_name: "네오", english_name: "NEO"}, {market: "KRW-MTL", korean_name: "메탈", english_name: "Metal"}, {market: "KRW-LTC", korean_name: "라이트코인", english_name: "Litecoin"}, {market: "KRW-XRP", korean_name: "리플", english_name: "Ripple"}, {market: "KRW-ETC", korean_name: "이더리움클래식", english_name: "Ethereum Classic"}, {market: "KRW-OMG", korean_name: "오미세고", english_name: "OmiseGo"}, {market: "KRW-SNT", korean_name: "스테이터스네트워크토큰", english_name: "Status Network Token"}, {market: "KRW-WAVES", korean_name: "웨이브", english_name: "Waves"}, {market: "KRW-XEM", korean_name: "넴", english_name: "NEM"}, {market: "KRW-QTUM", korean_name: "퀀텀", english_name: "Qtum"}, {market: "KRW-LSK", korean_name: "리스크", english_name: "Lisk"}, ] const b = [ {market: "KRW-BTC", trade_date: "20210506", trade_time: "144435", trade_date_kst: "20210506", trade_time_kst: "234435"}, {market: "KRW-ETH", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, {market: "KRW-NEO", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, {market: "KRW-MTL", trade_date: "20210506", trade_time: "144432", trade_date_kst: "20210506", trade_time_kst: "234432"}, {market: "KRW-LTC", trade_date: "20210506", trade_time: "144433", trade_date_kst: "20210506", trade_time_kst: "234433"}, {market: "KRW-XRP", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, {market: "KRW-ETC", trade_date: "20210506", trade_time: "144437", trade_date_kst: "20210506", trade_time_kst: "234437"}, {market: "KRW-OMG", trade_date: "20210506", trade_time: "144437", trade_date_kst: "20210506", trade_time_kst: "234437"}, {market: "KRW-SNT", trade_date: "20210506", trade_time: "144434", trade_date_kst: "20210506", trade_time_kst: "234434"}, {market: "KRW-WAVES", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, {market: "KRW-XEM", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, {market: "KRW-QTUM", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, {market: "KRW-LSK", trade_date: "20210506", trade_time: "144436", trade_date_kst: "20210506", trade_time_kst: "234436"}, ] const finalArray = a.map(item => ({...item, ...b.find(itemOfB => itemOfB.market === item.market)})) console.log(finalArray)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM