我有一个坐标数组(总共965个)。我想在Google Roads API中使用这些坐标,但限制为100。
我有一个函数可以确定数组中有多少项,然后获取要使用的值。
round(Double(userCoordinatesHardCoded.count / 100))
产生9。
我想删除所有不在索引倍数的项目,在本例中为9.因此理论上我在数组中只有不超过100个项目。
如果可能,我想保留第一个和最后一个数组项。
答案 0 :(得分:0)
如果空间不是问题,您可以创建具有所需倍数的另一个数组。
var oldCoordinates // Imagine it having all those elements
var newCoordinates : GoogleCoordinates = [] // This one will have new ones
newCoordinates.append(oldCoordinates[0])
var x = 1
for (x; x < oldCoordinates.count ; x++ ) {
if (x % 5 == 0) {
newCoordinates.append(oldCoordinates[x])
}
}
if (x != (oldCoordinates.count - 1)) {
newCoordinates.append(oldCoordinates[oldCoordinates.count - 1])
}
答案 1 :(得分:0)
我知道这已经得到了解答,但这是使用Swift内置的filter
函数的一个很好的用例:
let newCoordinates = oldCoordinates.filter { coord in
return (coord % 9 != 0)
}