React native 在另一个映射函数中反应本机映射函数?

React native 在另一个映射函数中反应本机映射函数?,react-native,react-native-android,react-native-ios,React Native,React Native Android,React Native Ios,我有4个对象,手动选择其中一个后,我不知道如何获取其中的所有信息。例如,我想要“pois”(另一个数组)中的所有数据……我想应该是这样的: {api.monuments.map((monumento, index) => ( {monumento.pois.map((poi, index2) => ( <TouchableHighlight onPress={() => this.onClick(convento)}

我有4个对象,手动选择其中一个后,我不知道如何获取其中的所有信息。例如,我想要“pois”(另一个数组)中的所有数据……我想应该是这样的:

{api.monuments.map((monumento, index) => (
    {monumento.pois.map((poi, index2) => (
        <TouchableHighlight
            onPress={() => this.onClick(convento)}
            style={styles.monumentoContainer}
            key={index2}
        >
            <Image style={styles.monumentoPic} source={{uri:'http://192.168.56.1:3000/'+poi.image}}>
                <View style={styles.monumentoTitleContainer}>
                    <Text style={styles.monumentoTitle}>{poi.name}</Text>
                                </View>
            </Image>
        </TouchableHighlight>
    ))}
))}
{api.monuments.map((纪念碑,索引)=>(
{纪念碑泊松图((poi,index2)=>(
this.onClick(convento)}
style={style.monterocontainer}
键={index2}
>
{poi.name}
))}
))}
但不是-,那我怎么做呢

另一个问题是:由于我有一个包含4个对象的数组,并且每个对象都有一个特定的类别,因此如何仅选择包含“category”==“xxxxx”的对象


希望你能帮助我!谢谢

您可以按如下方式进行操作:

var api = [
            { 
              category: "Cat_name",
              monuments: [
                            {
                              item: 'item1',
                              pois: [
                                      {name: 'poi1'},
                                      {name: 'poi2'},
                                      {name: 'poi3'},
                                      {name: 'poi4'}
                              ]
                            }
              ]
           },
           { 
             category: "Cat_name1",
             monuments: [
                          {
                            item: 'item2',
                            pois: [
                                   {name: 'poi5'},
                                   {name: 'poi6'},
                                   {name: 'poi7'},
                                   {name: 'poi8'}
                            ]
                          }
            ]
          }
]
{api.map(i => i.monuments.map(j => j.pois.map(k => k.name)))}
要获取所有
poi
,您可以执行以下操作:

var api = [
            { 
              category: "Cat_name",
              monuments: [
                            {
                              item: 'item1',
                              pois: [
                                      {name: 'poi1'},
                                      {name: 'poi2'},
                                      {name: 'poi3'},
                                      {name: 'poi4'}
                              ]
                            }
              ]
           },
           { 
             category: "Cat_name1",
             monuments: [
                          {
                            item: 'item2',
                            pois: [
                                   {name: 'poi5'},
                                   {name: 'poi6'},
                                   {name: 'poi7'},
                                   {name: 'poi8'}
                            ]
                          }
            ]
          }
]
{api.map(i => i.monuments.map(j => j.pois.map(k => k.name)))}
如果要检查类别名称,可以执行以下操作:

{data.map(i => {
     if (i.category === "Cat_name1"){
        return i.monuments.map(j => j.pois.map(k => k.name))
     }              
})}

非常感谢您!!我做了,它工作了,我想一切都对了还是不对?xD还有一件事,我不需要每个元素的unic密钥吗?@Proz1g是的。您可以使用uniq从您的数据。例如,
纪念碑
有一个id。对于poi,您可以使用
名称
。或者您可以使用
map
index<代码>{api.map((i,index1)=>i.monuments.map((j,index2)=>j.pois.map((k,index)=>k.name))}。从循环数据中使用uniq总是更好的,但是索引也很好。谢谢你,你救了我一天:)最好的问候!