因此,我有一个包含国家/地区名称作为键的对象,值是包含一些城市的数组。我想将所有城市放在一个数组中,而不包含国家/地区。这是我的做法,但不明白为什么它不起作用:
var cities = {
"United Kingdom": ['london'],
"Spain": ['ibiza', 'malaga'],
"USA": ['hollywood']
}
var allCities = [];
for (c in cities) {
allCities.concat(cities[c]);
}
console.log(allCities); //gives empty array
如果我更换allCities.concat(cities[c])
with console.log(cities[c])
我得到的所有数组都是这样的:
['london']
['ibiza', 'malaga']
['hollywood']
这就是我的挫败感的来源。知道为什么这不起作用吗?
根据文档Array.prototype.concat https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat:
返回一个由该数组与其他数组连接组成的新数组
和/或值。
这意味着它不会修改它所应用的对象。
改成:
allCities = allCities.concat(cities[c]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)