var data = {
        '01':'01'
        ,'02':'02'
        ,'10':'10'
        ,'11':'11'
        ,'21':'21'
    };
console.log(data);
输出的顺序却是
Object {10: "10", 11: "11", 21: "21", 01: "01", 02: "02"}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
javascript 是通过对象来实现的 map 功能,枚举其属性时是无序的。其实多数语言的 map 为了提高检索效率都是进行了一定的排序,都不是按插入元素的顺序来枚举的,除非专门实现的 SortedMap 之类。
如果你需要查找,也需要顺序,数据少可以直接用数组
如果数据比较多,可以使用 object + array 的办法,比如
遍历数据可以这样
JavaScript 的 Object 中的属性是无序的,Array 才是有序的。
首先在js里面没有关联数组的说法,上面哪个是个object的字面量。
在chrome里面他会排序
在FF里面是按顺序输出的。
因为是按key-value对应的,所以取出的的值和是否排序无关了。
Object排序毫无意义。
回复一下(字数补丁)