我如何通过比较 ReactJs 中的另一个数组来呈现数组值

我有一些来自道具的数组,如下所示


this.props.fruits= [

  {

    source: "Apple",

    code: 101,

  },

  {

    source: "banana",

    code: 105,

  },

  { source: "Mango",

    code: 107,

  },

];


在我的状态下,我必须仅保存代码以将其发送到后端我的状态如下所示


this.state ={

   myfruits:[101,105]

}

我必须在渲染 DOM 元素的 DOM 元素示例中渲染 myfruits 名称


My Fruits : Apple , banana


噜噜哒
浏览 133回答 2
2回答

Cats萌萌

您可以结合使用filter、map和join来使其正常工作。示例不是 React,但向您展示了如何实现。const fruits = [  {    source: "Apple",    code: 101,  },  {    source: "banana",    code: 105,  },  { source: "Mango",    code: 107,  },];const state = [101, 105];const getFruitNames = () => fruits  .filter(({ code }) => state.includes(code)) // Get all fruit objects where the code is also in state  .map(({ source }) => source) // Only return the source (name)  .join(", "); // Turn into a comma seperated stringconsole.log(`My Fruits: ${getFruitNames()}`);

眼眸繁星

您可以结合使用 filter 和 map 方法,this.props.fruits.filter((fruit) => this.state.myfruits.includes(fruit.code))           .map((fruit) => fruit.source)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript