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中正确的代码是什么?提前致谢。
答案 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")