Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将firebase json转换为typescript数组_Arrays_Json_Typescript_Firebase_Ionic Framework - Fatal编程技术网

Arrays 将firebase json转换为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'

我可以很容易地让数据在我的HTML中工作,但当我必须将其转换为可视化目的时,这是一个困难

我以FirebaseListObservable的形式获取数据。在我的例子中,每个列表中有3种值类型,但它只是其中的一种,必须是数组的一部分。如何将FirebaseListObservable转换为typescript中的数组

转换的原因是在我的应用程序中使用图形

获取数据的类型脚本:

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]这正是我需要的!这正是我需要的!