我有一个这样的数据数组,
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++;
}
但这可能不是正确的方法。
答案 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);