How to sort JavaScript Object based on key length
本问题已经有最佳答案,请猛点这里访问。
我需要根据密钥长度对javascript对象进行排序
因此,以下内容:
1 | { 'b' : 'asdsad', 'bbb' : 'masdas', 'bb' : 'dsfdsfsdf' } |
将成为:
1 | { 'b' : 'dsfdsfsdf', 'bb' : 'dsfdsfsdf', 'bbb' : 'masdas' } |
没有类似于javascript对象属性顺序的概念,您不能对它们进行排序,然后尝试通过声明顺序来获取。因为无法保证它们的出现顺序。
来自ECMAScript 1规范
4.3.3 Object
An object is a member of the type Object. It is an unordered
collection of properties which contain primitive
values, objects, or functions. A function stored in the property of an object is called a method.
如果您需要排序,也许查找数组会很有用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function TestA() { var a = { 'b': 'asdsad', 'bbb': 'masdas', 'bb': 'dsfdsfsdf' } var keyArray = Object.keys(a); var object = {}; keyArray.sort(); keyArray.forEach(function(item) { object[item] = a[item] }) return object } |