为什么对象不会推入一个数组?
Why the object won't push into one array?
有人可以帮忙解决如何将所有对象值放入一个数组吗?
const countryObject = data.countryBorders
for ( var i = 0; i < countryObject.length; i++ ) {
let countries = []
let country = countryObject[i].properties.name
countries.push(country)
console.log(contries)
打印
["Bahamas"]["Canada"]["Costa Rica"]["Cuba"]...
但我需要它在 countries 变量下的一个数组中打印,例如
["Bahamas", "Canada", "Costa Rica", "Cuba"]
问题在于初始化 countries
数组的位置。由于您在 for-loop
中拥有它,因此您正在为每次迭代创建一个新数组,导致先前的国家/地区丢失。
您应该在 for-loop
之前初始化 countries
变量,然后在 for-loop
之后记录它。
const countryObject = data.countryBorders;
const countries = [];
for ( var i = 0; i < countryObject.length; i++ ) {
let country = countryObject[i].properties.name;
countries.push(country);
}
console.log(contries);
使用Array.map
会简单很多
const countries = data.countryBorders.map(country => country.properties.name);
console.log(countries);
有人可以帮忙解决如何将所有对象值放入一个数组吗?
const countryObject = data.countryBorders
for ( var i = 0; i < countryObject.length; i++ ) {
let countries = []
let country = countryObject[i].properties.name
countries.push(country)
console.log(contries)
打印
["Bahamas"]["Canada"]["Costa Rica"]["Cuba"]...
但我需要它在 countries 变量下的一个数组中打印,例如
["Bahamas", "Canada", "Costa Rica", "Cuba"]
问题在于初始化 countries
数组的位置。由于您在 for-loop
中拥有它,因此您正在为每次迭代创建一个新数组,导致先前的国家/地区丢失。
您应该在 for-loop
之前初始化 countries
变量,然后在 for-loop
之后记录它。
const countryObject = data.countryBorders;
const countries = [];
for ( var i = 0; i < countryObject.length; i++ ) {
let country = countryObject[i].properties.name;
countries.push(country);
}
console.log(contries);
使用Array.map
const countries = data.countryBorders.map(country => country.properties.name);
console.log(countries);