gpt4 book ai didi

javascript - 如何对不可变映射内的项目进行排序(交换)?

转载 作者:行者123 更新时间:2023-11-28 15:02:36 27 4
gpt4 key购买 nike

我想在 Map 内的不可变列表内交换项目,示例:

const Map = Immutable.fromJS({
name:'lolo',
ids:[3,4,5]
});

我正在尝试使用 splice 进行交换,还尝试使用 insert() 不可变方法。

假设我想从 [3, 4, 5] 交换到 [3, 5, 4],我正在做这样的事情:

list.set('ids', list.get('ids').splice(2, 0, list.get('ids').splice(1, 1)[0])

使用 Immutable.js 对不可变数据结构内的元素进行排序的最佳方法是什么?

最佳答案

您应该使用Map.update()List.withMutations()就此而言:

map.update('ids', idsList => idsList.withMutations(function (idsList) {
let temp = idsList.get(2);
return idsList.set(2, idsList.get(1)).set(1, temp);
}));

请注意,我将您的 list 重命名为 map - 这实际上是一个 Map

对于简单的排序,请执行

map.update('ids', idsList => idsList.sort(function (a, b) {
// magic
});

关于javascript - 如何对不可变映射内的项目进行排序(交换)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351853/

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