React-Native过滤器数组

时间:2019-08-14 00:58:51

标签: arrays react-native

我有这个常量:

const States = [
  {
    label: "Alaska",
    value: "AK"
  },
  {
    label: "District of Columbia",
    value: "DC"
  },
  {
    label: "Florida",
    value: "FL"
  },
  {
    label: "Mississippi",
    value: "MS"
  },
  {
    label: "Wyoming",
    value: "WY"
  }
];

我想返回给定值的标签。我尝试了map()但没有结果。感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

也许您的用法是错误的。使用map返回。

用法

const list = States.map(
  (info, index) => (
  <View key={index}>
    <Text>{info.label}</Text>
    <Text>{info.value}</Text>
  </View>
)
);

答案 1 :(得分:0)

您的问题尚不清楚,就像您所需要的一样。是只需要显示给定特定值的标签还是仅显示每个值的标签?对于第一个选项,您可以做的是使用过滤器功能,例如

States.filter(state => { if(state.value == 'AK'){ return <Text>{state.label}</Text>}})

在这种情况下,上面您只想打印唯一状态的标签,其值为'AK'。

在第二种情况下,您希望为每个州打印所有标签,然后可以继续执行map()函数。

States.map(state => { return(<Text>{state.label}</Text>)})

希望这足以满足您提出问题的可能性