Javascript 创建具有不同关键点的对象
我想使用循环创建类似于此的对象,其中我有单独的国家代码数组和另一个纬度和经度数组 有没有办法在typescript中实现这一点Javascript 创建具有不同关键点的对象,javascript,angular,typescript,Javascript,Angular,Typescript,我想使用循环创建类似于此的对象,其中我有单独的国家代码数组和另一个纬度和经度数组 有没有办法在typescript中实现这一点 var latlong={ 'us': {'latitude':39.528019315435685, 'longitude':-99.1444409552122}, 'fr': {'latitude':46.62065825554313, 'longitude':2.4521888685061306} } 假设
var latlong={
'us': {'latitude':39.528019315435685, 'longitude':-99.1444409552122},
'fr': {'latitude':46.62065825554313, 'longitude':2.4521888685061306}
}
假设数组具有相应的索引,则可以使用此示例代码
let country = ['us','fr'];
let lat = ['39.528019315435685','46.62065825554313'];
let long = ['-99.1444409552122','2.4521888685061306'];
let latlong = {};
country.forEach((code,index)=>{
latlong[code] = {};
latlong[code]['latitude'] = lat[index];
latlong[code]['longitude'] = long[index];
})
假设两个数组都通过其索引正确映射,您可以尝试:
coordinatesArray.forEach((coordinate, index)=>{
latlong[countryArray[index]] = coordinate;
});
其中CoordinateArray包含纬度和经度对象数组,countryArray包含国家字符串。以下是创建所需对象的小示例 基本上,您可以遍历其他数组,并使用对其他数组的索引引用。使用
obj[key]
可以创建变量作为键的对象
在TypeScript
中开始讨论如何实现这一点TypeScript
基本上只扩展了现有的EcmaScript
-类型语法,因此这将在vanillaJS或TypeScript中正常工作。您在TypeScript
中得到的好处是您可以键入变量
例如
因此,现在您的IDE可以向您显示,您希望
country
-变量只包含字符串。您想创建3个不同的数组吗?这两个数组是如何链接的?它是通过数组索引还是另一个公共变量?它的对象包含唯一的国家代码及其相应的纬度和经度,类似于在echarts worldmap示例中创建的对象[,但我在使用循环创建相同的对象时遇到了问题,国家代码没有显示为键。您可以给出初始数据的示例吗?
const country: string[] = ['fr','en']