Подтвердить что ты не робот

Foreach для массива JSON, синтаксис

my script получает некоторый массив со стороны сервера php script.

result = jQuery.parseJSON(result);

теперь я хочу проверить каждую переменную массива.

if (result.a!='') { something.... }
if (result.b!='') { something.... }
....

Есть ли лучший способ сделать это быстро, как в php 'foreach', 'while' или smth?

UPDATE

Этот код (благодаря hvgotcodes) дает мне значения переменных внутри массива, но как я могу получить имена переменных также?

for(var k in result) {
   alert(result[k]);
}

ОБНОВЛЕНИЕ 2

Так работает php

$json = json_encode(array("a" => "test", "b" => "test",  "c" => "test", "d" => "test"));
4b9b3361

Ответ 1

Вы можете сделать что-то вроде

for(var k in result) {
   console.log(k, result[k]);
}

который перебирает все ключи в возвращаемом json и печатает значения. Однако, если у вас есть вложенная структура, вам нужно будет использовать

typeof result[k] === "object"

чтобы определить, нужно ли вам перебирать вложенные объекты. Большинство API-интерфейсов, которые я использовал, разработчики знают структуру того, что возвращается, поэтому это не нужно. Однако я полагаю, что это ожидание не подходит для всех случаев.

Ответ 2

Попробуйте следующее:

$.each(result,function(index, value){
    console.log('My array has at position ' + index + ', this value: ' + value);
});

Ответ 3

Конечно, вы можете использовать JS foreach.

for (var k in result) {
  something(result[k])
}

Ответ 4

Вы можете использовать метод.forEach() JavaScript для циклирования через JSON.

var datesBooking = [
    {"date": "04\/24\/2018"},
      {"date": "04\/25\/2018"}
    ];
    
    datesBooking.forEach(function(data, index) {
      console.log(data);
    });