Ionic 2-如何将一个大的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

我有一个包含超过40K(40000)行的JSON文件

我使用此代码获取json的数据,并将接收到的数据放入变量:

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
}