-2
我需要根据密钥长度如何基于密钥的长度
因此JavaScript对象进行排序如下排序JavaScript对象:
{ 'b' : 'asdsad', 'bbb' : 'masdas', 'bb' : 'dsfdsfsdf' }
将成为:
{ 'b' : 'dsfdsfsdf', 'bb' : 'dsfdsfsdf', 'bbb' : 'masdas' }
我需要根据密钥长度如何基于密钥的长度
因此JavaScript对象进行排序如下排序JavaScript对象:
{ 'b' : 'asdsad', 'bbb' : 'masdas', 'bb' : 'dsfdsfsdf' }
将成为:
{ 'b' : 'dsfdsfsdf', 'bb' : 'dsfdsfsdf', 'bbb' : 'masdas' }
没有例如Javascript对象属性的顺序等概念,则无法对它们进行排序,然后尝试通过声明顺序来获取它们。因为不能保证它们出现的顺序。
从EcmaScript 1说明书
4.3.3对象
一个目的是对象的类型的成员。它是一个无序 属性集合它包含原始值 值,对象或函数。存储在对象属性中的函数称为方法。
如果您需要排序,查找数组可能会很有用。
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
}
或'Map's! https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map – Walk
@Walk你也不能对它们进行排序。迭代插入顺序对于某些算法是一个有用的属性,但它远离索引访问。 – Bergi