2017-02-23 4 views
2

私はRedong関数をmongoDBに持っています。私は各州の都市のAVGを印刷したいと思います。 私は、私が唯一の正しい結果を取得し、残りはナンなぜ私は結果のほとんどの結果としてナノを得る

マップ機能

function map(){ 
key = {state : this.state}; 
values = { numberOfCities:1, statePop: this.pop}; 
emit(key, values)} 

と私はnumberOfCitiesでstatePop戻ると機能

function reduce(key , values){ 
numberOfCities = 0.0; 
statePop = 0.0; 
avg = 0.0; 
for (i in values){ 
    numberOfCities += values[i].numberOfCities; 
    statePop += values[i].statePop; 
    avg = statePop/numberOfCities; 
} 
return avg} 

を減らすことになります正しい番号を取得しますが、私が操作statePop/numberOfCitiesを返すと、その値はナノ値になります

エラー

JSONファイル

{ "_id" : "20002", "city" : "WASHINGTON", "loc" : [ -76.990055, 38.902365 ], "pop" : 56756, "state" : "DC" } 
+2

を使用できますか?console.log(statePop、numberOfCities)? –

+0

どうやって 'reduce()'を呼びますか? 'key'引数を使用していないのはなぜですか? – nnnnnn

+0

Ammresh Venugopal、私はあなたのポイントを理解していません –

答えて

0

iがあなたの値オブジェクトのインスタンスではなく、インデックスである(これはJSONファイルの1行です)。したがって、values[I].propertyの代わりにi.property

+0

すべての平均値を取得します –

+0

this.popは有効な数値ですか? –

+0

はい。私はjsonファイルのサンプルを追加する質問を編集する –

関連する問題