arrays - 将 CENTER 数组的 CENTER const 更改为循环/迭代?
问题描述
我有一个使用 const CENTER 的辅助函数的工作零食。
我正在尝试将 const CENTER 更改为具有大量坐标的 CENTER 数组,以便辅助函数可以迭代/循环?通过所有的点。
const { latitude, longitude, speed } = position.coords;
const center = { latitude: 37.600530, longitude: -122.482629 }; //this is to change
const { radius, distance } = this.calculateMeasurements(latitude, longitude, center);
calculateMeasurements = (latitude, longitude, center) => {
const radius = geolib.isPointInCircle(
{ latitude: latitude, longitude: longitude },
{ latitude: center.latitude, longitude: center.longitude },
1000
);
const distance = geolib.getDistance(
{ latitude: latitude, longitude: longitude },
{ latitude: center.latitude, longitude: center.longitude }
);
console.log(radius, distance);
return { radius, distance };
}
我想放置一个像这样的 CENTER 数组:它可以工作吗?
const center = [( id: 1, latitude: 34.3434656, longitude: -56.876456 ),
( id: 2, latitude: 35.3434656, longitude: -57.876456 ),
( id: 3, latitude: 36.3434656, longitude: -58.876456 ),
( id: 4, latitude: 37.3434656, longitude: -59.876456 )];
解决方案
它会运作良好。使用map
for 循环您的数组,如下所示。并且在数组中使用对象元素时不要忘记使用大括号。
const { latitude, longitude, speed } = position.coords;
const centers = [ // use curly brackets for js objects.
{ id: 1, latitude: 34.3434656, longitude: -56.876456 },
{ id: 2, latitude: 35.3434656, longitude: -57.876456 },
{ id: 3, latitude: 36.3434656, longitude: -58.876456 },
{ id: 4, latitude: 37.3434656, longitude: -59.876456 }];
const { radius, distance } = this.calculateMeasurements(latitude, longitude, center);
const results = centers.map(({id, lati: latitude, longi: longitude) => {
return this.calculateMeasurements(latitude, longitude, {lati, longi});
});
console.log(`results[0] : ${results[0].radius}, ${results[0].distance}`);
calculateMeasurements = (latitude, longitude, center) => {
const radius = geolib.isPointInCircle(
{ latitude: latitude, longitude: longitude },
{ latitude: center.latitude, longitude: center.longitude },
1000);
const distance = geolib.getDistance(
{ latitude: latitude, longitude: longitude },
{ latitude: center.latitude, longitude: center.longitude }
);
console.log(radius, distance);
return { radius, distance };
}
推荐阅读
- c++ - 为什么 QList 不能作为 QML GridView 的模型?
- reactjs - “gatsby-plugin-purgecss”将每个页面的所有使用的CSS添加到所有页面,有没有办法防止这种情况?
- javascript - JS:扁平化未知数量的嵌套数组的最有效方法是什么?
- wordpress - 将 .com 域从 wordpress.com 转移到自托管网站
- asp.net-core - 如何使用编辑器模板渲染带有 Razor 的菜单?
- python - DataFlow 部署失败并出现“对象没有属性 watermark_estimator_provider”错误
- vba - 强制注销脚本
- javascript - JS - 自动更改继承类
- nnet - 我如何在 mlr3 中包含学习者
- java - Android - 仅缩放位置(0,0)而不是整个图像