如何在Angular 6中获取组件内部的json数组大小
我在angular 6项目中工作,这里我需要获得来自API响应的数组大小 在检查从API调用收到的数据时,我可以在控制台中看到数组大小为3。我不知道如何在组件变量中获取数组大小如何在Angular 6中获取组件内部的json数组大小,angular,typescript,Angular,Typescript,我在angular 6项目中工作,这里我需要获得来自API响应的数组大小 在检查从API调用收到的数据时,我可以在控制台中看到数组大小为3。我不知道如何在组件变量中获取数组大小 ngOnInit() { this.CartdataService.get_Basic_Images().subscribe( data => { this.get_Carousel_Images = data['1'].filter((img, i) => i !== 0
ngOnInit() {
this.CartdataService.get_Basic_Images().subscribe(
data => {
this.get_Carousel_Images = data['1'].filter((img, i) => i !== 0);
this.slider_Active_Item = data[1][0]['CAROUSEL_IMAGE_PATHS'];
console.log(data) // how to get the array size here
});
}
链接:
谢谢声明属性
大小:数字代码>
然后编辑为Sanoj_V,以这种方式编辑函数
ngOnInit() {
this.CartdataService.get_Basic_Images().subscribe(
(data:any) => {
this.size= data.length;
this.get_Carousel_Images = data['1'].filter((img, i) => i !== 0);
this.slider_Active_Item = data[1][0]['CAROUSEL_IMAGE_PATHS'];
});
}
现在您的size
属性具有长度
如果您确定您的数据总是有一个长度,那么它是可以的,否则您应该检查它是否是定义的。类似这样的情况,以防万一:
if(!!data.length){
this.size = data.length;
}
您可以使用任何
类型
ngOnInit() {
this.CartdataService.get_Basic_Images().subscribe(
(data:any) => {
this.get_Carousel_Images = data['1'].filter((img, i) => i !== 0);
this.slider_Active_Item = data[1][0]['CAROUSEL_IMAGE_PATHS'];
console.log(data.length) // how to get the array size here
});
}
如果出现编译时错误,则必须使用此方法data['length']来使用对象
现在就这样更改代码,它可以编译而不出错
get_Carousel_Images :string;
slider_Active_Item :string;
ngOnInit() {
this.CartdataService.get_Basic_Images().subscribe(
data => {
console.log(data['length']);
this.get_Carousel_Images = data['1'].filter((img, i) => i !== 0);
this.slider_Active_Item = data[1][0]['CAROUSEL_IMAGE_PATHS'];
});
}
}
也许打字对你有帮助。
我将创建一个单一基本映像的接口,然后告诉Typescript,订阅需要这些映像的数组
interface BasicImages{
// details about one Basic Image
}
this.CartdataService.get_Basic_Images().subscribe(
(imageList:BasicImages[] => {
// Do some magic things here
console.log(imageList.length)
});
这有多方面的帮助。
它使代码更具可读性,静态代码分析将在传输时发现一些错误。console.log(data.length)
get此错误[ts]类型“Object”上不存在属性“lenght”@Sanoj_v得到了输出,但我也得到了错误是控制台作为错误类型错误:无法读取nullcheck的属性'length'此链接工作正常我已经检查过了,它在那里工作,但不在我的项目中在您的项目中获得了什么样的数据在stackblitz中工作,但在项目中“[ts]类型“Object”上不存在属性“length”。出现此错误我在放置后找不到长度。在数据“data.length”之后\n您是否将数据:any放入订阅中?能否请您进行公开回购,以便我可以克隆并处理它?