react中的数组映射函数用于三元运算符



这是我的数组

var CountryList = [{ name: Canada, value: 1 },
    { name: USA, value: 2 }]

这就是我现在使用的操作

var filterStr = nextProps.Country.value == "1" ? 'Canada' : 'USA';

现在我想使用上面代码中的数组CountryList来检查是否选择了加拿大或美国。是否使用映射完成?如果是美国,我想在另一个Dropdown中填充美国各州。如果是加拿大,那就是加拿大各州。因此,根据这个数组中的选择,我想填充States。我需要检查所选的国家。我想知道国名。如何做到这一点?

var states = {USA: [{name: 'A', value:1},..],Canada: []} 
var country = CountryList.find(country => country.value == nextProps.Country.value).name;
if (states[county]){
    this.setState({states: states[country], enabledStates: true});
}else{
    this.setState({states: [], enabledStates: false});
}

显示基于标志enabledState的状态。

如果你想要一个以美国为例的所有国家的数组,你可以使用这样的过滤器:

CountryList.filter = country => country.value === 1 ;

或者,如果想检查美国是否存在于该阵列中,可以使用"查找">

map不是此处使用的正确函数。您应该使用findfilter函数。 let country = CountryList.find((c) => (c.value === 1)) country = country && country.name

最新更新