2017-07-26 10 views
-1

は、私たちが今、私たちは、これらの配列内の削除と追加された項目を取得することができますどのようにこのTS - 古い配列と新しい配列から配列内の削除された項目と追加された項目を取得するには?

oldArray = [ 
    { id: 1, position: 'DEV OM'}, 
    { id: 2, position: 'Senior Developer'}, 
] 

newArray = [ 
    { id: 2, position: 'Senior Developer'}, 
    { id: 3, position: 'Junior Developer'}, 
] 

を持っているはず?あなたが必要なものtypescriptです/ angular2アプリに

+0

あなたがこれまでに試してみましたか?それともあなたのためにその機能を書いてほしいですか? –

答えて

2

を使用して

addedItems = getAddedItems(oldArray, newArray) 
removedItems = getRemovedItems(oldArray, newArray) 


// Output for addedItems 
[ 
    { id: 3, position: 'Junior Developer'} 
] 

// Output for removedItems 
[ 
    { id: 1, position: 'DEV OM'} 
] 

イムは2つの配列の違いを見つけるための機能です:

let oldArray = [ 
 
    { id: 1, position: 'DEV OM'}, 
 
    { id: 2, position: 'Senior Developer'} 
 
] 
 

 
let newArray = [ 
 
    { id: 2, position: 'Senior Developer'}, 
 
    { id: 3, position: 'Junior Developer'} 
 
] 
 

 
function difference(a,b) { 
 
    return a.filter(itema => !b.some(itemb => itemb.id===itema.id)); 
 
} 
 

 
console.log(difference(oldArray,newArray)) 
 
console.log(difference(newArray,oldArray))

+0

nice ..フィルター/ someについて知りませんでした。ロダッシュを見ていた。あなたも変わったはずです - ちょうどそれの楽しみのために! idの位置が変わると! – JGFMK

関連する問題