San*_*nti 4 javascript arrays sorting associative
我需要通过JS为我的一个项目排序关联数组.我发现这个函数在firefox中运行得很好,但不幸的是它在IE8,OPERA,CHROME中无法工作......无法找到使其在其他浏览器中工作的方法,或找到适合其目的的另一个函数.我非常感谢任何帮助.
function sortAssoc(aInput)
{
var aTemp = [];
for (var sKey in aInput) aTemp.push([sKey, aInput[sKey].length]);
aTemp.sort(function () {return arguments[0][1] < arguments[1][1]});
var aOutput = new Object();
//for (var nIndex = aTemp.length-1; nIndex >=0; nIndex--)
for (var nIndex = 0; nIndex <= aTemp.length-1; nIndex++)
aOutput[aTemp[nIndex][0]] = aInput[aTemp[nIndex][0]];
//aOutput[aTemp[nIndex][0]] = aTemp[nIndex][1];
return aOutput;
}
Run Code Online (Sandbox Code Playgroud)
这是不可能的.一个Object在JavaScript(这是你用什么作为你的"关联数组")被指定为没有定义的顺序使用它的属性时,迭代for...in循环.您可能能够在某些浏览器的行为之间观察到一些共同点,但它并不普遍.
简介:如果您需要特定顺序的对象,请使用数组.
| 归档时间: |
|
| 查看次数: |
6701 次 |
| 最近记录: |