我正在使用 AngularJS 和 Firebase 进行项目,一切正常。
但是我需要仅“提取”数组中的温度值,然后当然使用 JavaScript“提取”其他数组中的湿度值。
我一直在尝试使用文档,但找不到方法,firebase 上没有“选择来源”方法,您能帮助我吗?
谢谢!
最佳答案
map()
函数在 Javascript 中的工作原理如下。
假设您拥有当前数据集:
var dataSet = [{
humidity: 10.4,
temperature: 20.9,
},
{
humidity: 12.7,
temperature: 24.2,
}];
首先,该函数将循环遍历数据集中的每个条目。这会产生 O(n)
的时间复杂度。如果您不追求速度或者这只是一个好玩的项目,请不要担心,但这只是需要考虑的事情。然后该函数的作用是根据您对数据集执行的操作返回一个新集合。在您的情况下,您只想返回
湿度场。所以,你这样做:
var dataSet = ...; //See above
var humidityCollection = dataSet.map(function(element) {
return element['humidity']; //You can also write element.humidity
});
请注意,如果您使用 ECMAScript 6 及更高版本,则可以将上面的函数用作 lambda 表达式。它的作用相同,但它只是缩短了代码并使其更具可读性。
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
关于javascript - 从 firebase 数组中选择 "column",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37091288/