Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.11.2011, 18:22
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

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

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

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

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

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

Пробовал перебирать один массив, а в нем перебирать второй и сравнивать данные, но ничего из этого хорошего не вышло.
Спасибо за помощь
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2011, 18:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Ultimatum
Пробовал перебирать один массив, а в нем перебирать второй и сравнивать данные, но ничего из этого хорошего не вышло.
Показал бы как ты там всё "перебирал"...
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2011, 18:41
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

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'

Последний раз редактировалось Ultimatum, 19.11.2011 в 18:45.
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2011, 18:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Ultimatum, ты неправильно выполняешь поиск элемента в массиве...
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2011, 19:00
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

И сейчас он задаст вопрос:
А как надо, расскажи, поведай, приведи пример? )
Ответить с цитированием
  #6 (permalink)  
Старый 19.11.2011, 19:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Это описано в любом букваре, по любому языку...
Ответить с цитированием
  #7 (permalink)  
Старый 19.11.2011, 19:07
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

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

Приведите пример согласно тому что я написал выше, раз вы утверждаете обратное.
Ответить с цитированием
  #8 (permalink)  
Старый 19.11.2011, 19:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Ultimatum
Читая доки по JS я понял что этот язык ущёрбен для работы с массивом.
Наверное те доки ты вверхтормашками держал... Бедный JS... Чего только не наслушаешся о нём...
Несчастней наверное только ИЕ и Windows...

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

Как вариант, гони 500р и я тебе предоставлю таки такой пример. Или слабо?
Ответить с цитированием
  #9 (permalink)  
Старый 19.11.2011, 19:17
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

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

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

Последний раз редактировалось Ultimatum, 19.11.2011 в 19:21.
Ответить с цитированием
  #10 (permalink)  
Старый 19.11.2011, 19:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск по массиву zebulun Общие вопросы Javascript 4 02.09.2011 02:09
Поиск в тексте javascript jQuery 3 31.05.2011 11:40
PagingToolbar и поиск DenQ ExtJS 5 02.11.2010 00:16
Поиск последнего слова в строке AlexFadeev Элементы интерфейса 3 01.04.2010 18:56
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31