2017-05-18 6 views
0

オブジェクトのインデックスを取得せずにオブジェクトを削除したい。オブジェクトでは、私は、データを以下している、すなわち、ここで角2でインデックスを取得せずにオブジェクトを削除する方法

 
{ 
    "id" : 1, 
    "address": "abc ghsddsj", 
    "phone" : "123467891" 
}, 
{ 
    "id" : 2, 
    "address": "abdffddfgc ghsddsj", 
    "phone" : "7864545645" 
} 

//とは、オブジェクト

あなたは、フィルタを使用することができます
import { Injectable } from "@angular/core"; 
import { Router } from '@angular/router'; 
@Injectable() 
export class AppService{ 
    addressList : any[] = []; 
    newAddress: any; 
    constructor (public _router:Router){ } 
    updateData(){ 
     this.addressList.push(this.newAddress); 
    } 
    getData(){ 
     return this.addressList; 
    } 
    deleteAddress(id:any){ 
     //let index = this.addressList.indexOf(address); 
     //this.addressList.splice(index,1); 
     for(let address of this.addressList){ 
      if(address.id == id){ 
       // expression code will be here 
      } 
     } 
    } 
} 

答えて

0

を除去するために私のコードです。このようなもの:

this.addresList = this.addresList.filter(address => (address.id !== id)); 
+0

こんにちはバートは答えを与えてくれてありがとうございますが、まだ動作しません。 – shubham

+0

おそらく問題はあなたがID "1"を2回持っていることです。ああ、あなたはforループをこの行に置き換えるべきです。 :) – Bart

関連する問題