删除密钥后重新索引javascript数组/对象

时间:2011-11-29 11:55:58

标签: javascript jquery

例如:

var Cars = {
    1: { "Make": "Honda",
         "Model": "Accord",
         "Color": "Red"
    },
    2: { "Make": "Honda",
         "Model": "Civic",
         "Color": "Silver"
    },
    3: { "Make": "Honda",
         "Model": "Jazz",
         "Color": "Yellow"
    }

如果我做delete.Cars[2];我会留下汽车[1]和汽车[3]。

我需要一种方法(JS或jQuery),这样当我删除一个键时,该对象会重新索引。所以,在上面的例子中,我留下了Cars [1]和Cars [2](这是Cars [3])。

2 个答案:

答案 0 :(得分:7)

那是因为你不需要数组的密钥。

var Cars = [
    {
        "Make": "Honda",
        "Model": "Accord",
        "Color": "Red"
    },{
        "Make": "Honda",
        "Model": "Civic",
        "Color": "Silver"
    },{
        "Make": "Honda",
        "Model": "Jazz",
        "Color": "Yellow"
    }
];

alert(Cars[1]['Make']); // Honda

答案 1 :(得分:3)

你可以看看这个:

阵列: Javascript - Reindexing an array

对象: Algorithm to re-index an array of objects after insertion or drag 'n' drop order change

它应该做的伎俩:)

引用此线程中的其他开发人员和我自己,最好使用数组