Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проверка на соответствие ключа в многомерном массиве (https://javascript.ru/forum/events/62066-proverka-na-sootvetstvie-klyucha-v-mnogomernom-massive.html)

hoax 22.03.2016 21:34

Проверка на соответствие ключа в многомерном массиве
 
Есть код:

arr - многомерный массив следующего вида : [ [], [], [] ];
В каждом подмассиве содержится ключ-значение, напрм. [ ['title':'hello', id: 3533], ['title' : 'data', 'id':5454], []... ];

Также есть массив обычный массив keys = ['title', 'id'], который должен проверять соответствие ключей в каждом массиве многомерного дружка.

var i=1, y=0, result; txt='';
			
var arr = ...
var keys = ..	
			
	for(i;i<arr.length;i++) {
					
			var cell = arr[i];
					
			     for(y;y<keys.length;y++) {
							
					alert(cell[keys[y]])
							
						}


Получилось придумать что-то такое, но замысел думаю понятен. В данном коде массив keys, сравнивает ключи только первого подмассива в массиве arr.

рони 22.03.2016 22:46

Цитата:

Сообщение от hoax
[ ['title':'hello', id: 3533], ['title' : 'data', 'id':5454], []... ];

:-?
может так
[ {'title':'hello', id: 3533}, {'title' : 'data', 'id':5454}, {}... ];
и в чём проблема то?

hoax 02.04.2016 02:45

Нет там именно многомерный массив.
Проблема в том, что цикл должен проверять наличие указанных значений в массивах многомерного массива. Т.е. каждый подмассив он должен прогонять на наличи значений, например, выяснять если там значения "test1", "test2" и т.д.

рони 02.04.2016 07:26

Цитата:

Сообщение от hoax
Нет там именно многомерный массив.

видимо вы сами не в курсе какая структура у вашего обьекта.

hoax 12.05.2016 18:51

Цитата:

Сообщение от рони (Сообщение 412806)
видимо вы сами не в курсе какая структура у вашего обьекта.

мне в принципе все равно какую структуру использовать массив или объект, в данном случае интересует только лишь возможность создания поочередной проверки на каждое свойство

рони 12.05.2016 20:57

hoax,
var i=0, result, txt='';

var arr = ...
var keys = ..

  for(;i<arr.length;i++) {

      var cell = arr[i];

           for(var y = 0;y<keys.length;y++) {

          alert(cell[keys[y]])

            }
             }

рони 12.05.2016 21:00

hoax,
var arr = [ {'title':'hello', id: 3533}, {'title' : 'data', 'id':5454}],
keys = ['title', 'id']

  for(var i=0;i<arr.length;i++) {

      var cell = arr[i];

           for(var y = 0;y<keys.length;y++) {

          alert(cell[keys[y]])

            }
             }


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