我想使用循环创建与此对象类似的对象,其中我有单独的国家/地区代码数组和另一个经纬度数组 有没有办法在打字稿中实现这一点,
var latlong={
'us': {'latitude':39.528019315435685, 'longitude':-99.1444409552122},
'fr': {'latitude':46.62065825554313, 'longitude':2.4521888685061306}
}
答案 0 :(得分:1)
假设您的数组具有对应的索引,那么您可以使用此示例代码,
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];
})
答案 1 :(得分:0)
假设两个数组都通过其索引正确映射,则可以尝试:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
guard let data = self.notificationsResponse?.data else { return 0 }
return data.count
}
其中坐标数组包含纬度和经度对象的数组,而国家数组包含国家/地区字符串。
答案 2 :(得分:0)
这是创建所需对象的小例子。
基本上,您遍历另一个数组,并引用另一个数组的索引。使用obj[key]
,您可以创建以变量作为键的对象。
仅在TypeScript
中进行一些有关实现此目的的讨论。 TypeScript
基本上只扩展了现有的EcmaScript
语法和类型,因此可以按预期在vanillaJS或TypeScript中使用。如果您输入了变量,则可以从TypeScript
中获得好处。
例如
const country: string[] = ['fr','en']
因此,现在您的IDE可以告诉您,您期望country
变量仅包含字符串。