我有两个数组数据我只是试图根据相同的ID获取数组2的数据 示例
===
如果数据的id为{{1}} id,那么我想得到同一项的颜色
答案 0 :(得分:2)
您可以使用Array.prototype.find
:
{data.map((tweet)=> {
const { color = "default-color" } = dataTwo.find(item => item.id === tweet.id) || {};
return <ul key={tweet.id}>
<li>{tweet.title} <b>Color:</b> { color }</li>
</ul>
})}
或者您可以更改dataTwo
以使其成为对象(地图):
const dataTwo = {
1: "red"
2: "blue"
};
然后直接访问它:
{data.map((tweet)=>
<ul key={tweet.id}>
<li>{tweet.title} <b>Color:</b> { dataTwo[tweet.id] || 'default-color' }</li>
</ul>
)}
答案 1 :(得分:1)
创建dataTwo对象,键为id,值为color。使用此对象在循环时获取颜色
var dataTwoObj = {};
dataTwo.reduce((data)=>{
dataTwoObj[data.id] = data.color;
});
data.map((tweet)=> {
const color = dataTwoObj[item.id];
<ul key={tweet.id}>
<li>{tweet.title} <b>Color:</b> { color }</li>
</ul>
)