访问阵列中的obects
Access to obects in an array
这里有一个bigArray,其中有对象。每个对象都有top、left、lat、lng元素。
bigArray [Object, Object, Object, Object, Object, Object, Object, Object, Object]
0: Object
lat: 33.543
leftPosition: 54
lng: 56.345
topPosition: -3
__proto__: Object
1: Object
lat: 32.4534
leftPosition: 197
lng: 45.634345
topPosition: 57
__proto__: Object
2: Object
lat: 34.6434
leftPosition: 245
lng: -102.324234
topPosition: -3
__proto__: Object
3: Object
lat: 23.3423
leftPosition: 330
lng: 57.5343
topPosition: 57
__proto__: Object
4: Object
5: Object
6: Object
7: Object
// N number of array etc... ...: Object
length: 9
__proto__: Array[0]
现在我有了这个函数,它可以根据两个地方之间的纬度和lng来计算km距离:
var loc1 = { lat: 42.672708, lon: 23.32147800000007 };
var loc2 = {lat:42.670242, lon:23.315002999999933};
function arc_distance(loc1, loc2) {
var rad = Math.PI / 180,
earth_radius = 6371.009, // close enough
lat1 = loc1.lat * rad,
lat2 = loc2.lat * rad,
dlon = Math.abs(loc1.lon - loc2.lon) * rad,
M = Math;
return earth_radius * M.acos(
(M.sin(lat1) * M.sin(lat2)) + (M.cos(lat1) * M.cos(lat2) * M.cos(dlon))
);
}
alert (arc_distance(loc1,loc2));
但现在我有一个问题,如何计算所有物体之间的距离?所以object[0]---distance---object[1]---distance---object[2]---distance---object[N]
,其中是bigArray
中的N个对象
那么,我如何访问object[0].lat.lng , object[1].lat.lng , object[2].lat.lng
,并根据我的函数计算对象之间的距离和添加到对象的距离,使对象成为object{top,left,lat,lng, DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION}
试试这个
for (var i = arr.length-1; i > 0; i--) {
arr[0].DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION = 0;
arr[i].DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION = arc_distance({lat: arr[i-1].lat, lon: arr[i-1].lng}, {lat: arr[i].lat, lon: arr[i].lng});
}
JSFIDDLE
这对你有用吗?
bigArray[0].DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION=0;
for(var i=bigArray.length;i>0;i--){
bigArray[i].DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION=arc_distance(bigArray[i-1], bigArray[i]);
}
相关文章:
- 使用正则表达式捕获“”并分割成阵列
- AngularJS卡片转盘:将卡片返回到阵列的末尾
- 从不同的对象创建阵列
- 阵列中随机图像的问题
- 在特定条件下从存储在localStorage中的阵列中删除对象
- 如何将所有同级存储在动态本地存储阵列中
- 从localStorage添加和检索阵列
- angular.注射器阵列值未返回当前值
- 流星蒙戈的返回阵列
- 从2D RGB阵列创建图像
- 构建画布RGB值的2D阵列
- 图像阵列预加载时显示沙漏光标
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- 相对于角度控制器中的另一个阵列过滤阵列项目
- 为什么不是't我的“;虚拟的“;阵列工作
- Json阵列的详细信息显示在三页的angularjs中
- 来自阵列的大小为N的组合
- 用替换或拼接替换阵列中的编号
- d3中的过滤阵列
- 访问阵列中的obects