Ionic 2-如何将一个大的JSON数据放入变量中,并在没有延迟的情况下删除重复的JSON数据?
我有一个包含超过40K(40000)行的JSON文件 我使用此代码获取json的数据,并将接收到的数据放入变量:Ionic 2-如何将一个大的JSON数据放入变量中,并在没有延迟的情况下删除重复的JSON数据?,json,ionic2,Json,Ionic2,我有一个包含超过40K(40000)行的JSON文件 我使用此代码获取json的数据,并将接收到的数据放入变量: this.http.get(url).map(res => res.json()).subscribe(data => { ... this.users=data.users; ... this.images=data.images; this.removeDupicates(); ... }); 我的问题是:当加载JSO
this.http.get(url).map(res => res.json()).subscribe(data => {
...
this.users=data.users;
...
this.images=data.images;
this.removeDupicates();
...
});
我的问题是:当加载JSON的数据并尝试将数据放入变量并尝试删除重复项时,应用程序需要很长时间才能准备就绪
那么,是否有任何解决方案可以加速或修复这一过程
编辑:
这是函数“RemovedDuplicates”的代码
removeDupicates(){
对于(假设i=0;i,如在您的案例中找到并修改的:
输出将是[“1”、“2”、“3”]
现在,如果您希望异步执行此操作,因此不必等待数据加载后再继续使用应用程序,您可以将其包装在setTimeout
因此:
请注意,您不会有如下列表:[{img:'myimage'},…]
,但您现在有了一个列表['myimage','mysecondimage',…]
,以便在您的案例中找到并修改:
输出将是[“1”、“2”、“3”]
现在,如果您希望异步执行此操作,因此不必等待数据加载后再继续使用应用程序,您可以将其包装在setTimeout
因此:
请注意,您不会有如下列表:[{img:'myimage'},…]
但是现在您有了一个列表['myimage','mysecondimage',…]
removeDupicates(){
for(let i=0; i<this.images.length; i++){
for(let j=0; j<this.images.length; j++){
if(this.images[i].img == this.images[j].img && i!=j){
this.images.splice(i,1);
}
}
}
}
Array.from(new Set(
[
{"img":"1"},
{"img":"2"},
{"img":"1"},
{"img":"3"}
].map((itemInArray) => itemInArray.img)));
removeDuplicates() {
setTimeout(() => {
this.images = Array.from(new Set(
this.images.map(image => image.img)
));
}, 0); // execute timeout function immediately, fakes async
}