在关联数组中移动元素

时间:2016-01-30 03:09:38

标签: javascript arrays

我使用关联数组来反映LI元素列表:

var array = []
array["cats"] = {k: "cats", v: "meow"};
array["dogs"] = {k: "dogs", v: "woof"};
array["mice"] = {k: "mice", v: "eek"};

我需要保持数组元素的顺序以匹配LI元素的顺序。如果我重新排序LI元素(例如将鼠标移动到列表中的第二个位置),我想重新排序数组,以便我可以执行以下操作并查看相同的顺序:

for (var i in array){
    console.log(i);
}

并产生输出:

cats
mice
dogs

由于它是关联的,我不能使用splice方法。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

你不能这样做,JavaScript中没有关联数组 - 那些是对象(没有排序),这只是一种表示它们的方式。 obj.something等于obj['something']

为了保持顺序,我建议你使用一组对象:

var arr = [{k: "cats", v: "meow"}, {k: "dogs", v: "woof"}, {k: "mice", v: "eek"}];

可以订购数组。