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

时间:2015-05-19 23:31:03

标签: javascript sorting dictionary associative-array

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

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

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

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

我也没有服务器,因此任何解决方案都必须是JavaScript。

2 个答案:

答案 0 :(得分:3)

JavaScript中没有关联数组(在ES2015中放置Map类)。无法订购对象属性;运行时以任意顺序通过所有API提供属性名称。

你可以做的是通过Object.keys()或类似的东西将属性名称抓取到数组中,然后对该数组进行排序,并通过迭代该数组来按顺序访问对象属性。

答案 1 :(得分:0)

您可以随时将数组发布回您自己的服务器(通过ajax),并让PHP asort(或arsort)处理它。

或者读这个:

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