2016-12-14 3 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

Спасибо так много. –

Смежные вопросы