gpt4 book ai didi

javascript - 如何从api的一个部分接收数据到另一部分

转载 作者:行者123 更新时间:2023-11-28 03:41:09 24 4
gpt4 key购买 nike

好吧,所以我正在尝试让这个 api 工作。问题是我不知道如何接收一些在该 api 的其他部分有链接的数据。

API 本身如下所示:

{
product
{
id,
title,
relationship:{
seller: sellerId
}
}
seller{
company,
seller: seller
name: name
}

}

所以这个sellerId和seller是相同的。我如何将它们链接在一起?

我已经必须显示 sellerId,但我需要使用 sellerId 显示名称本身。我试过这个:

render(){
const { card, names } = this.props;
const items = card.map((item, index) => {
return (
<li key={index} className='list-group-item card'>
<ListItem
name = { item.relationships.seller }
title = { item.title }
price = { item.price }
pictures = { item.pictures }/>
</li>
);
})

return (
<ul className='list-group'>
{ items }
</ul>
)
}
state = {
item: [],
names: []
}

最佳答案

如果您想合并两个对象数组(产品和卖家)的数据,那么您可以使用:

// the function to merge the objects
function mergeObjects(product, seller) {
if (seller.seller === product.relationship.seller) {
return Object.assign(seller, product)
}
}

// for single objects:
const seller = sellerId = 'Seller'

const product1 = {
id: 1,
title: 'title1',
relationship: {
seller: sellerId
}
}
const seller1 = {
company: 'company1',
seller: seller,
name: 'name1'
}

console.log('single objects:', mergeObjects(product1, seller1))

// for arrays of objects
const sellerArr1 = sellerIdArr1 = 'sellerArr1'
const sellerArr2 = sellerIdArr2 = 'sellerArr2'

const products = [{
id: 1,
title: 'title1',
relationship: {
seller: sellerIdArr1
}
},
{
id: 2,
title: 'title2',
relationship: {
seller: sellerIdArr2
}
}
]

const sellers = [{
company: 'company1',
seller: sellerArr1,
name: 'name1'
},
{
company: 'company2',
seller: sellerArr2,
name: 'name2'
}
]

const withArrays = sellers.map((e, i) => {
return mergeObjects(products.filter(el => el.relationship.seller === e.seller)[0], e)
})

console.log('arrays:', withArrays)

使用此解决方案,您将仅获得一个数组,并且可以使用单个对象的值。

关于javascript - 如何从api的一个部分接收数据到另一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com