0

私はこのようなデータ配列を持っています、

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++;
}

しかし、それは正しいアプローチではないかもしれません。

4

3 に答える 3

2
var x, l=0;

for(x in tourGuide){

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

}
于 2012-05-18T02:16:32.047 に答える
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です。

于 2012-05-18T02:16:41.500 に答える
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);
于 2012-05-18T02:17:12.937 に答える