如何在React Native

时间:2018-08-09 05:55:14

标签: object react-native

const data = {
  apple: {
    type: 'fruit',
    image: './fruit/apple.jpg'
  },
  orange: {
    type: 'fruit',
    image: './fruit/orange.jpg'
  }
  carrrot: {
    type: 'vegetable',
    image: './vegetable/carrot.jpg'
  }
}

我正在尝试构建搜索功能以遍历对象以返回我需要的项目。

例如,如果我要所有水果,将呈现苹果和橙子的图像。

我需要这样的东西:

list = []
for item in data:
    if item.type == 'fruit':
        list.append(item)
return list

React Native中正确的代码是什么?提前致谢。

2 个答案:

答案 0 :(得分:1)

Object.keys允许迭代属性:

const fruits = Object.keys(data).filter(key => data[key].type === 'fruit')
.map(key => data[key]);

首先,我们制作一个对象属性数组,然后过滤水果类型的键,最后将键映射到对象以提供水果数组。

答案 1 :(得分:1)

//Input 
const data = {
 apple: {
  type: 'fruit',
  image: './fruit/apple.jpg'
  },
  orange: {
    type: 'fruit',
    image: './fruit/orange.jpg'
  },
  carrrot: {
    type: 'vegetable',
    image: './vegetable/carrot.jpg'
  }
}

var expectedResult =  Object.values(data).filter((item)=>  item.type === "fruit")