gpt4 book ai didi

javascript - 在由元素 :position pairs 组成的字典中移动元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:45 26 4
gpt4 key购买 nike

我有这样一个字典:{a:0, b:1, c:2}。实际上,字段名称及其在表中的顺序。我需要求助于此结构,以便(例如)如果 b 的位置变为 0,则结​​果为 {b:0, a:1, c:2}。如果 b 的位置变为 2 那么结果必须是 {a:0, c:1, b:2} 等等...

如何做到这一点?我不能使用内置函数(如果有的话),因为该字典中的每个字段都来自更复杂的结构。我基本上只能迭代这个字典,排序与否,并更改位置值。

我使用 Javascript/Coffeescript,但这没关系 - 我会很感激任何语言的想法。

最佳答案

考虑需要发生什么:如果将某个值从第 n 阶移动到第 n' 阶,实际上只有第 n 阶和 n' 之间的值的顺序发生变化。如果 n > n',则向下移动一位,如果 n < n',则向上移动一位。这是一些伪代码:

function(dict, name, newOrder)
{
var oldOrder = dict[name];
foreach((k, order) in dict)
{
if(order > oldOrder && order <= newOrder)
dict[k]--;
else if(order >= newOrder && order < oldOrder)
dict[k]++;
}
dict[name] = newOrder;
}

关于javascript - 在由元素 :position pairs 组成的字典中移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19559353/

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