Javascript 创建具有不同关键点的对象

Javascript 创建具有不同关键点的对象,javascript,angular,typescript,Javascript,Angular,Typescript,我想使用循环创建类似于此的对象,其中我有单独的国家代码数组和另一个纬度和经度数组 有没有办法在typescript中实现这一点 var latlong={ 'us': {'latitude':39.528019315435685, 'longitude':-99.1444409552122}, 'fr': {'latitude':46.62065825554313, 'longitude':2.4521888685061306} } 假设

我想使用循环创建类似于此的对象,其中我有单独的国家代码数组和另一个纬度和经度数组 有没有办法在typescript中实现这一点

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']