基本上我使用for循环创建对象的键(年份)。
但是,我想让对象的第一个键是我手动创建的collapse
键。
然而,它最终被推到最后。
我有以下代码:
initial
它像这样发送:
const VEHICLE_YEARS = () => {
const vehicleYears = {}
vehicleYears['initial'] = 'Choose One'
const startYear = 2013
const endYear = new Date().getFullYear()
for (let year = startYear; year <= endYear; year++) {
vehicleYears[year] = year
}
return vehicleYears
}
VEHICLE_YEARS()
答案 0 :(得分:1)
简单对象无法提供您想要的内容。你需要Map。
你需要这个:
const map = new Map();
map.set('initial', 'Select one');
map.set('2013', '2013');
map.set('2014', '2014');
map.set('2015', '2015');
map.set('2016', '2016');
map.set('2017', '2017');
// etc
要进行迭代,您可以使用for..of
:
for (const [key, value] of map) {
console.log(key, value)
}
// the result
initial Select one
2013 2013
2014 2014
2015 2015
2016 2016
2017 2017
如果您使用for of
迭代地图,则保证您在将它们添加到地图时按顺序排列。来自docs:
Map对象按插入顺序迭代其元素 - for循环返回每个迭代的[key,value]数组。
此外,要遍历条目Map.prototype.forEach。
map.forEach((val, key) => console.log(key ,val))