Arrays 将firebase json转换为typescript数组
我可以很容易地让数据在我的HTML中工作,但当我必须将其转换为可视化目的时,这是一个困难 我以FirebaseListObservable的形式获取数据。在我的例子中,每个列表中有3种值类型,但它只是其中的一种,必须是数组的一部分。如何将FirebaseListObservable转换为typescript中的数组 转换的原因是在我的应用程序中使用图形 获取数据的类型脚本:Arrays 将firebase json转换为typescript数组,arrays,json,typescript,firebase,ionic-framework,Arrays,Json,Typescript,Firebase,Ionic Framework,我可以很容易地让数据在我的HTML中工作,但当我必须将其转换为可视化目的时,这是一个困难 我以FirebaseListObservable的形式获取数据。在我的例子中,每个列表中有3种值类型,但它只是其中的一种,必须是数组的一部分。如何将FirebaseListObservable转换为typescript中的数组 转换的原因是在我的应用程序中使用图形 获取数据的类型脚本: this.measure= this.db.list('/Users/'+this.username+'/Measure'
this.measure= this.db.list('/Users/'+this.username+'/Measure');
enter code here
chartjs的类型脚本
this.data = [12, 24, 91, 23]
数据必须是来自firebase的数据
FirebaseListObservable
是可观察的。这意味着您将在订阅列表时获得列表本身(=所需的数组)
this.measure: FirebaseListObservable<Measure[]> = this.db.list('/Users/'+this.username+'/Measure');
this.measure
.map(measurement => measurement.numbers) // this extracts only numbers field so we have basically array of arrays
.map(numbersArrays => numbersArrays.reduce((curr, prev) => curr.concat(prev))) // so lets concat all those arrays into a single one
.subscribe(numbersArray: number[] => {
console.log(numbersArray);
});
interface Measure {
data: Date;
geolocation: string;
numbers: number[];
}
this.measure:FirebaseListObservable=this.db.list('/Users/'+this.username+'/measure');
这是我的措施
.map(measurement=>measurement.numbers)//这只提取numbers字段,所以我们基本上有一个数组数组
.map(numbersArrays=>numbersArrays.reduce((curr,prev)=>curr.concat(prev))//因此让concat将所有这些数组合并为一个数组
.订阅(号码排列:号码[]=>{
控制台日志(编号排列);
});
接口措施{
数据:日期;
地理位置:字符串;
编号:编号[];
}
FirebaseListObservable
是一种可观察的。这意味着您将在订阅列表时获得列表本身(=所需的数组)
this.measure: FirebaseListObservable<Measure[]> = this.db.list('/Users/'+this.username+'/Measure');
this.measure
.map(measurement => measurement.numbers) // this extracts only numbers field so we have basically array of arrays
.map(numbersArrays => numbersArrays.reduce((curr, prev) => curr.concat(prev))) // so lets concat all those arrays into a single one
.subscribe(numbersArray: number[] => {
console.log(numbersArray);
});
interface Measure {
data: Date;
geolocation: string;
numbers: number[];
}
this.measure:FirebaseListObservable=this.db.list('/Users/'+this.username+'/measure');
这是我的措施
.map(measurement=>measurement.numbers)//这只提取numbers字段,所以我们基本上有一个数组数组
.map(numbersArrays=>numbersArrays.reduce((curr,prev)=>curr.concat(prev))//因此让concat将所有这些数组合并为一个数组
.订阅(号码排列:号码[]=>{
控制台日志(编号排列);
});
接口措施{
数据:日期;
地理位置:字符串;
编号:编号[];
}
声明一个空数组数据=[]代码>
然后使用.subscribe()
这将获取所有列表并搜索所有项目,并将所需值推送到数组。声明一个空数组data=[]代码>
然后使用.subscribe()
这将获取所有列表并搜索所有项目,并将所需值推送到数组。使用一些代码发布将增加获得答复的机会。@Hareesh-我已更新了它。感谢您的提及。发布一些代码将增加获得回复的机会。@Hareesh-我已经更新了它。谢谢你的提醒。我会试试的,谢谢。Measure包含数字、日期和地理位置。我为Measure
添加了接口,现在我得到了这个:this.db.list('/Users/'+this.username+'/Measure')。订阅(items=>{console.log(items);});我可以在控制台中看到数据。如何将这些数字保存在一个数组中?那么您现在想对这些测量值做什么?清单上的每一项都有数字。你想把他们连在一起吗?是的,这正是我想要的。像这样[30,40,20,10,30]我会试试的,谢谢。Measure包含数字、日期和地理位置。我为Measure
添加了接口,现在我得到了这个:this.db.list('/Users/'+this.username+'/Measure')。订阅(items=>{console.log(items);});我可以在控制台中看到数据。如何将这些数字保存在一个数组中?那么您现在想对这些测量值做什么?清单上的每一项都有数字。你想把他们连在一起吗?是的,这正是我想要的。像这样[30,40,20,10,30]这正是我需要的!这正是我需要的!