Ordered hash in JavaScript

前端 未结 9 998
心在旅途
心在旅途 2020-12-05 17:34

JavaScript objects have no order stored for properties (according to the spec). Firefox seems to preserve the order of definition of properties when using a for...in<

9条回答
  •  情深已故
    2020-12-05 17:40

    Taking @Craig_Walker solution, if you are only interested to know in which order the properties have been inserted, an easy solution would be :

    var obj ={ }
    var order = [];
    
    function add(key, value) {
        obj[key] = value;
        order.push(key);
    }
    
    function getOldestKey() {
        var key = order.shift();
        return obj[key]
    }
    
    function getNewsetKey() {
        var key = order.pop();
        return obj[key]
    }
    

提交回复
热议问题