2016-12-14 84 views
0

我有兩個陣列,例如:RxJS濾波器日期

var a1 = ["1","3","4","5"] 
var a2 = ["1","6","3","5"] 

第二陣列被用作存儲裝置。

我想比較這兩個數組,因此,例如,數字4在a1但不在a2,所以我想推數字4到a2
因此,每一個不包含在a2中的數字都應該被推入其中。

我該如何用rxjs解決這個問題?

回答

2

我能想到的最簡單的方法是如下:

var a1 = ["1","3","4","5"]; 
var a2 = ["1","6","3","5"]; 

Observable.from(a1) 
    .filter(val => a2.indexOf(val) === -1) 
    .subscribe(val => { 
     a2.push(val); 
    }); 

console.log(a2); 

這將打印到控制檯:

[ '1', '6', '3', '5', '4' ] 

見現場演示:https://jsbin.com/gabesog/1/edit

+0

非常感謝。 –