Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
joub
2 / 2 / 4
Регистрация: 08.01.2013
Сообщений: 151
1

Работа массивами

20.04.2015, 23:20. Просмотров 143. Ответов 0
Метки нет (Все метки)

Добрый всем день. Пишу скрипт и не очень получается разобраться.
Итак. Есть глобальный массив: placemark , по некому событию срабатывает функция, которая которая делает запрос и получает данные с сервера в виде еще одного массива...

По сути мне необходимо:
1. Сравнить глобальный массив и пришедший (делаю через id - т.к.он уникальный)
2. Объекты которых нет в новом массиве - необходимо удалить из глобального
3. А новые - некоторым образам обработать
4. Не затронуть объекты которые уже были в массиве...

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        var json = JSON.parse(data);
        if (json.errorno === 0) {
            return;
        }
        var points = json.point;
 
        if (placemark === undefined) {
            placemark = [];
        }
        //------------------------------
 
        var newPl = [];
        var oldPl = [];
 
        for (i = 0; i < points.length; i++) {
 
            // Тут не срабатывает - т.к. думает что объект уже существует...
            if (placemark[points[i].id] === undefined) {
                placemark[points[i].id] = placeMakr(points);
            } else {
                oldPl[points[i].id] = 1;
            }
            newPl[points[i].id] = 1;
        }
 
        //------------------------------
        for (var rId in placemark) {
            if (newPl[rId] === undefined) {
 
                // Пытаюсь тут удалять...
                myMap.geoObjects.remove(placemark[rId]);
                //placemark.splice(rId,1);
                //placemark[rId] = null;
                placemark[rId] = undefined;
 
            } else {
                if (oldPl[rId] === undefined) {
                    myMap.geoObjects.add(placemark[rId]);
                }
            }
        }
    });
По идее данный алгоритм рабочий за исключением - не работает удаление, и как следствие - вставка-обработка новых объектов.

Если не сложно, подскажите что исправить... )) или в какую сторону капать.
Методу удаления которые под // уже пробовал... не прокатывает...
И нет смысла хранить весь глобальный массив - т.к. он оооочень большой...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2015, 23:20
Ответы с готовыми решениями:

Работа с массивами
Нужна помощь в задании по JS. (прошу не оффтопить). Было 10 заданий не могу выполнить 4!: Написать...

Работа с массивами
:-[Написать сценарий, который по двум массивам строит третий, являющийся пересечением заданных.

Работа с массивами
Я только начинаю программировать, поэтому, возможно, задаю глупый вопрос. Есть система оценок...

Работа с массивами
не получается реализовать класс http://codepen.io/godforger/pen/BjmKJg

Работа с массивами в JavaScript
&lt;!-- 2.1 Реализовать простейший вариант теста, поочередно выдавая пользователю вопросы, ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2015, 23:20

Задания с массивами!
1.Создайте массив, заполните его числами, как показано ниже: 2. Пользователь вводит числа в...

Упростить функцию с массивами
У меня есть 8 массивов. var win1 = ; var win2 = ; var win3 = ; var win4 = ; var win5 = ;...

Задача с массивами! SOS
Всем привет! Я чайник в JS помогите разобраться с задачами. console.log(); 1. Дан массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru