将一个数组的数据复制到 javascript/react 中的另一个数组

Copying data of one array with transformation into another array in javascript/react

我的 API 返回低于输出。

[
    "ANT",
    "ARG",
    "ARM",
    "BUR",
    "UAE"
]

在我的数组中,我需要存储与这些 countrycode 对应的 countryname。 为此,我在 react 中使用了 country-data 库。 这样我就可以得到像 console.log(countries["UAE"].name); 这样的输出 我需要在下面声明的 countryData 数组中存储国家/地区名称。

我的反应代码是。

 this.state = {
      countryData: [],
    };

我正在使用如下数组代码。

updateDropdownData() {
    axios.get(`http://localhost:8080/country_code`).then((res) => {        
      res.data.map((code) => {
        alert(countries[code].name);
        countryData.push.apply(countryData, countries[code].name);
      });
      this.setState({ countryData });
    });
  }

但我收到错误

index.bundle.js:122 Uncaught (in promise) ReferenceError: countryData is not defined
    at index.bundle.js:122:217123
    at Array.map (<anonymous>)

我犯了什么错误。我是 javascriptreact 的新手。

编辑1:- alert(countries[res.data[0]].name); //此行有效。

const _countryData = res.data.map((code) => countries[code].name); 给出错误。

直接改变状态值不符合React的方式

updateDropdownData() {
    axios.get(`http://localhost:8080/country_code`).then((res) => {
      const _countryData = res.data.map((code) => countries[code].name )        
      this.setState({ countryData: _countryData });
    });
  }

编辑

The countries variable must be where you run it. And the shape of the variable should be as follows.

const countries = {
    "ANT" : { name : "ant_name"  },
    "ARG" : { name : "arg_name"  },
    ...
}