2016-05-07 6 views
0

私はAngularJSとFirebaseのプロジェクトで作業していますが、すべて正常です。firebaseから「列」を選択してください。アレイ

firebase Data

しかし、私は、アレイ内の温度のみ値を「抽出」し、その後コースのJavaScriptを使用して他のアレイ内の湿度値にする必要があります。

私はドキュメンテーションを試みてきましたが、私は方法を見つけることができません、firebaseの "Select From"メソッドはありません、あなたは私を助けてくれますか?

ありがとうございます!

+0

をあなたは '.MAP()'の機能を見てきましたJavascriptで? – DevNebulae

+0

はい、@GamerNebulaeしかし、どのように動作するのか分かりませんので、私は理解できませんでした:( –

答えて

1

map()の機能は、Javascriptでどのように動作しますか?

はあなたが現在のデータセット持っているふり:

var dataSet = [{ 
    humidity: 10.4, 
    temperature: 20.9, 
}, 
{ 
    humidity: 12.7, 
    temperature: 24.2, 
}]; 

まずオフに、機能は、データセット内のすべてのエントリをループに起こっています。これにより、時間の複雑さはO(n)になります。あなたがスピードに陥っていない場合、またはそれは単なる楽しいプロジェクトですが、心配する必要はありませんが、考慮すべきことです。その機能は、データセットに対して行ったアクションに基づいて新しいコレクションを返します。あなたの場合、湿度フィールドはreturnにしてください。あなたは上記のECMAScript 6を使用している場合、あなたはラムダ式として上記の機能を使用することができ、ちょうどヘッドアップとして

var dataSet = ...; //See above 
var humidityCollection = dataSet.map(function(element) { 
    return element['humidity']; //You can also write element.humidity 
}); 

:だから、あなたはこれを行います。同じことですが、コードを短くするだけで読みやすくなります。

var humidityCollection = dataSet.map((element) => { 
    return element['humidity']; 
}); 

これは、次のデータセットになります:私が使用してより多くのドキュメントはここで見つけることができます

[10.4, 12.7] 

出典:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

+0

まず、あなたの助けてくれてありがとう、私はこのような機能を試しましたが、出力は空の配列です –

+0

var incuData =新しいFirebase( 'https://birdmaker.firebaseio.com/data'); var completeData = $ firebaseArray(incuData); var humidityCollection = completeData.map(function(element){ return要素[ \ tempap]; // element.humidityと書くこともできます }); –

+0

@SebasPinto '$ firebaseArray'はどこから来たのですか? – DevNebulae

関連する問題