gpt4 book ai didi

javascript - 获取数组中的所有元素?

转载 作者:行者123 更新时间:2023-12-02 23:44:48 26 4
gpt4 key购买 nike

我有些被 turfJs 困住了,

我想获取父数组的所有元素,并将它们设置为FeatureCollection我对所有数组进行迭代并将它们隔离,但是当将它们传递给FeatureCollection时,他们只获取最后一个而不是全部,那么该怎么做呢?

这是我的数组“用户”

Array

这是特征集合

featureCollection

功能

 handleNearby = () => {
const { region, providers } = this.state;
let points = [];
providers.map((p, i) => {
console.log(p.coordinates);
console.log(i);
points = turf.point([p.coordinates.latitude, p.coordinates.longitude])
// console.log(points);
});
var collection = turf.featureCollection([points]);
console.log(collection);
console.log(providers);
// var targetPoint = turf.point([region.longitude, region.latitude]);
// var nearest = turf.nearestPoint(targetPoint, points);
// var addToMap = [targetPoint, points, nearest];
}

最佳答案

如果您在数组上使用 map 并且不使用返回值,则始终表明出现了问题。 map 的唯一目的是遍历数组并生成一个值数组,该数组是通过将旧数组的值映射到新值而创建的。

听起来您想要一个点数组,每个点对应于来自 providers 的一个条目。因此,将每个提供者映射到一个点,并使用生成的数组:

let points = providers.map(p => {
return turf.point([p.coordinates.latitude, p.coordinates.longitude])
});
var collection = turf.featureCollection(points);
// Note no [] --------------------------^-----^

或者使用简洁的箭头函数:

let points = providers.map(p => turf.point([p.coordinates.latitude, p.coordinates.longitude]));
var collection = turf.featureCollection(points);

关于javascript - 获取数组中的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55902422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com