如何按值对关联数组进行排序并保留值?

How to sort an associative array by value and keep values?

我有一个名为 map 的关联数组:

     var map = new Array();
     map["exampleKey"] = 7;

键是字符串,值是整数。某些键可能具有相同的值。

我已经尝试过类似问题的解决方案,例如 this one. 但是,我还没有找到一个保留值的方法。他们只是按顺序创建带有键的数组。我需要一种按顺序(按值排序)将键和值存储到某个适当的数据结构中的排序。

我也没有服务器所以任何解决方案都必须JavaScript。

JavaScript 中没有关联数组(撇开 ES2015 中的 Map class)。对象属性不能排序;运行时以任意顺序通过所有 API 提供 属性 个名称。

您可以做的是通过 Object.keys() 或某种等效方法将 属性 名称获取到数组中,然后对该数组进行排序并通过遍历该数组按顺序访问对象属性。

您总是可以 post 将数组返回到您自己的服务器(通过 ajax)并让 PHP 分类(或分类)处理它。

或者读这个:

How to sort an associative array by its values in Javascript?