向数组中添加一个元素

时间:2012-05-18 02:14:10

标签: javascript javascript-events

我有一个这样的数据数组,

tourGuide: [
    {"location": "london"},
    {"location": "paris"},
    {"location": "frankfurt"}
]

我想重写tourGuide,以便它也包含指标。所以它会变成:

tourGuide: [
    {"location": "london", "index":0},
    {"location": "paris", "index":1},
    {"location": "frankfurt","index":2}
]

我试过了,

var x, l=0;
for(x in tourGuide){
    tourGuide["index"] = l;
    l++;
}

但这可能不是正确的方法。

3 个答案:

答案 0 :(得分:2)

var x, l=0;

for(x in tourGuide){

tourGuide[x]["index"] = l;
l++;

}

答案 1 :(得分:1)

试试这个:

for(var i=0;i<tourGuide.length;i++){
    tourGuide[i].index=i
}

//----or more simplified...----

var i=0;
for(;i<tourGuide.length;){
    tourGuide[i].index=i++
}

现场演示: http://jsfiddle.net/DerekL/qvdzR/

但实际上,您实际上不必创建index,因为它们位于数组中,它们已经具有index值。

答案 2 :(得分:1)

我建议你忘记location属性,然后创建一个简单的数组。除非您打算稍后添加更多属性,否则常规数组将为您提供数字索引。只是做:

var output = array();
for (var i=0; i<tourGuide.length; i++) {
  // Just stick each of the locations onto a plain old array
  output.push(tourGuide[i].location;
}

console.log(output);