在 React 中尝试排序和切片时如何保留整个 geojson?
How do I retain an entire geojson when attempting to sort and slice in React?
我正在尝试根据 属性 对 geojson 内的要素集合进行排序,然后根据该 geojson 对前 5 个要素进行切片。在一些人的帮助下,我已经设置了基本的排序和切片,但我注意到当我 return 排序和切片我的 geojson 的最终结果时,最终结果不是 geojson 而只是子集来自 geojson 中的特定数组。
我将如何更改我的代码以保留原始的 geojson 体系结构,但只保留前 5 个排序的功能?目的是映射较小的排序 geojson 结果。我这里有一个编码示例:
https://codesandbox.io/s/slicing-geojson-qg1hb?file=/src/App.js
在控制台中打印“原始 geojson”和“最终结果”。
这是我在过滤器之前和之后得到的结果:
过滤前:
original geojson:
{type: "FeatureCollection", features: Array(22), crs: Object}
过滤后:
Final Result:
(5) [Object, Object, Object, Object, Object]
0: Object
type: "Feature"
geometry: Object
properties: Object
1: Object
2: Object
3: Object
4: Object
除了按降序排序并仅保留前 5 个特征外,我希望最终结果看起来与原始结果相同。
不确定这是否是问题所在。如果我对你的理解是正确的,那么你原来的 geoJSON 是什么,但是用你的过滤后的特征数组替换。
您可以只使用展开运算符创建一个对象的副本,然后用您的新数组覆盖特征数组。
console.log("Final Result:", {
...this.state.geojson,
features: rearrangedFeatures,
});
我正在尝试根据 属性 对 geojson 内的要素集合进行排序,然后根据该 geojson 对前 5 个要素进行切片。在一些人的帮助下,我已经设置了基本的排序和切片,但我注意到当我 return 排序和切片我的 geojson 的最终结果时,最终结果不是 geojson 而只是子集来自 geojson 中的特定数组。
我将如何更改我的代码以保留原始的 geojson 体系结构,但只保留前 5 个排序的功能?目的是映射较小的排序 geojson 结果。我这里有一个编码示例:
https://codesandbox.io/s/slicing-geojson-qg1hb?file=/src/App.js
在控制台中打印“原始 geojson”和“最终结果”。
这是我在过滤器之前和之后得到的结果:
过滤前:
original geojson:
{type: "FeatureCollection", features: Array(22), crs: Object}
过滤后:
Final Result:
(5) [Object, Object, Object, Object, Object]
0: Object
type: "Feature"
geometry: Object
properties: Object
1: Object
2: Object
3: Object
4: Object
除了按降序排序并仅保留前 5 个特征外,我希望最终结果看起来与原始结果相同。
不确定这是否是问题所在。如果我对你的理解是正确的,那么你原来的 geoJSON 是什么,但是用你的过滤后的特征数组替换。
您可以只使用展开运算符创建一个对象的副本,然后用您的新数组覆盖特征数组。
console.log("Final Result:", {
...this.state.geojson,
features: rearrangedFeatures,
});