Получить разные из двух массивов в переменную - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть два вложенных массива, и мне нужно получить разные значения в переменную / массив. Например: servicesCompare1 [{serviceId: 112, имя: services1}, {serviceId: 113, name: services2}]

servicesCompare2 [{serviceId: 113, name: services2}]

Мне нужно получить {serviceId: 112, name: services1} в переменной.

Я нашел много и много решений, но каждый, кого я пробовал, получал обе услуги. Не только тот, который мне нужен. Например, это: http://jsfiddle.net/WgykC/ (я сделал то же самое, но все равно получил значение servicesCompare1.)

Мой код:

self.services = ko.observableArray([]);
        self.lastCheck = ko.observable();

        var servicesCompare1 = [];
        var servicesCompare2 = [];
        $.getJSON("http://localhost:55972/api/status", function (data) {
            self.services(data.services);
            self.lastCheck = data.lastCheck;
            servicesCompare1 = data.services;
            servicesCompare2 = data.services;
        });

        function DashboardRefresh() {
            self.servicesRefresh = ko.observable([]);
            $.getJSON("http://localhost:55972/api/status", function (data) {
                servicesCompare2 = data.services;
                self.servicesRefresh(data.services);
            });
            if (servicesCompare2.length > servicesCompare1.length) {
                for (i = 0; i < servicesCompare2.length - servicesCompare1.length; i++) {
                    var ArrayIndexToAdd = servicesCompare2.length - 1 - i;
                    serviceToPush = servicesCompare2[ArrayIndexToAdd];
                    self.services.push(serviceToPush);
                }
            }

            else if (servicesCompare1.length > servicesCompare2.length) {
                var servicesToRemove = servicesCompare1.filter(a => !servicesCompare2.includes(a));
                console.log(servicesToRemove);
                console.log(servicesCompare1);
                console.log(servicesCompare2);

            }

        }
        setInterval(DashboardRefresh, 1000);

Я не понимаю, в чем проблема, потому что я думаю, что это должно работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...