Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поиск по многомерному массиву (https://javascript.ru/forum/misc/23304-poisk-po-mnogomernomu-massivu.html)

Ultimatum 19.11.2011 18:22

Поиск по многомерному массиву
 
Есть два массива которые.
1) первый получаю через json, назавём его J
2) Второй назовём его Temp, он как бы локальный.

Задача стоит такого рода, сравнить два массива, если в первом(TEMP) таких данных нет, то просто их туда добавить, если есть то проигнорировать.

Приведу пример массива json

[{"id":"300","text":"привет"},
{"id":"301","text":"reboot"}]

Второй массив TEMP
TEMP =
[{"id":"300","text":"привет"},
{"id":"30","text":"restart"}]

Пробовал перебирать один массив, а в нем перебирать второй и сравнивать данные, но ничего из этого хорошего не вышло.
Спасибо за помощь

ksa 19.11.2011 18:27

Цитата:

Сообщение от Ultimatum
Пробовал перебирать один массив, а в нем перебирать второй и сравнивать данные, но ничего из этого хорошего не вышло.

Показал бы как ты там всё "перебирал"...

Ultimatum 19.11.2011 18:41

var json = array();
var temp = array();
json = [{"id":"300","text":"привет"},{"id":"301","text":"reboot"}]
temp = [{"id":"300","text":"привет"},{"id":"30","text":"restart"}]


for(var i=0;i<temp.length;i++){
for(var m=0; m < json.length ;m++){
 if(temp[i].id == json[m].id){
  // совпадение есть
 	}else{
 // совпадение нет
 // тогда по идее добавляем в новый массив
 }							
}
}


Как то так, набросал прям здесь.

Но это неправильно, так как при переборе второго массива, скажем когда найдем

temp{"id":"30"} != json{"id":"300}
мы должны {"id":"300} добавить в массив temp но там такой массив есть уже под индексом '0'

ksa 19.11.2011 18:53

Ultimatum, ты неправильно выполняешь поиск элемента в массиве... ;)

Ultimatum 19.11.2011 19:00

И сейчас он задаст вопрос:
А как надо, расскажи, поведай, приведи пример? )

ksa 19.11.2011 19:01

Это описано в любом букваре, по любому языку... :)

Ultimatum 19.11.2011 19:07

Из всех знакомых мне языков, поиск и работа с массивом хорошо реализовано только на рельсах. Читая доки по JS я понял что этот язык ущёрбен для работы с массивом.

Приведите пример согласно тому что я написал выше, раз вы утверждаете обратное.

ksa 19.11.2011 19:12

Цитата:

Сообщение от Ultimatum
Читая доки по JS я понял что этот язык ущёрбен для работы с массивом.

Наверное те доки ты вверхтормашками держал... :lol: Бедный JS... Чего только не наслушаешся о нём...
Несчастней наверное только ИЕ и Windows... :lol:

Цитата:

Сообщение от Ultimatum
Приведите пример согласно тому что я написал выше, раз вы утверждаете обратное

Я на "слабо" не ведусь... ;)

Как вариант, гони 500р и я тебе предоставлю таки такой пример. :D Или слабо? :)

Ultimatum 19.11.2011 19:17

Слабо, нужно бы чтобы за меня сделали , пошел бы на фриланс и там бы всё за меня написали(за деньги), а здесь я не для этого, а чтобы узнать как реализовать то или иное, оно мне не настолько горит.

Тема превращается во флуд

ksa 19.11.2011 19:19

Цитата:

Сообщение от Ultimatum
а здесь я не для этого
...
оно мне не настолько горит

Эва! :blink:


Часовой пояс GMT +3, время: 12:33.