gpt4 book ai didi

javascript - 设置自定义 immutablejs 键以防止数据重复?

转载 作者:行者123 更新时间:2023-12-03 05:29:05 26 4
gpt4 key购买 nike

我有以下格式的数据:action.places

我只想将其与传入的新数据结合起来,并返回更新地点的新 map 。如果我得到一个地点对象,并且其中一个地点与前一个地点具有相同的纬度/经度,我不想附加该数据。

{
places: [
{
place: {
lat: 123,
lon: 321,
}
},
{
place: {
lat: 432,
lon: 234,
}
},
]
}

我如何使用 map 来做到这一点?目前我正在以这种方式附加,但一切都是重复的,我找不到一个不困惑的解决方案:

case RECEIVE_PLACES:
return state
.set('places', state.get('places').update(fromJS(action.places)))

理想情况下,我将每个对象的键设置为 [${lat},${lon}] (唯一识别地点的唯一方法),这样我只需要迭代键来获取我的位置。

最佳答案

您可以过滤掉重复的地点项目

case RECEIVE_PLACES:  {
const newPlaces = fromJS(action.places).filter((newItem) => (
!state.get('stores').find((oldItem) => (
oldItem.place.lat === newItem.place.lat &&
oldItem.place.lon === newItem.place.lon
)
);

return state.set('stores', state.get('stores').update(newPlaces));
}

关于javascript - 设置自定义 immutablejs 键以防止数据重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41027291/

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