JavaScript: найти имя ключа массива для использования в цикле if..then - PullRequest
0 голосов
/ 14 декабря 2011

Я перебираю и ассоциативный массив, например, так:

for (entry in $data[array]) {
  // do some stuff
}

Мне нужно присвоить значение на основе ИМЯ ключа, например, так (псевдокод):

for (entry in $data[array]) {
  // do some stuff
  if ($data[array][entry]['type'].name = 'thingy') {
    // so some other stuff
  } else {
    // keep doing some stuff
  }
}

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

$data
(
    [success] => 1
    [findings] =>
        (
            [0] =>
                (
                    [type] => thingy
                    [name] => yo-yo
                    [age] => 1960    
                )
            [1] =>
                (
                    [type] => doohickey
                    [name] => clothespin
                    [age] => 1940    
                )
        )
)

так что ... по сути, мне нужно сделать что-то другое, если KEY - это "тип". в основном, для каждой клавиши 'type', например, сделайте текст красным.

что мне не хватает, чтобы заставить его работать? : P Я надеюсь, что я проясняю себя ...

WR!

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Первое значение в синтаксисе for (key in set) фактически является ключом.

for (entry in $data[array]) {
  // do some stuff
  for (thing in $data[array][entry]) {
    if (thing === 'type') {
      //do stuff
    } else {
      // do other stuff
    }
  }
}
1 голос
/ 14 декабря 2011

Если я правильно понял ваш вопрос, то вам следует попробовать следующее:

for (entry in $data[array]) {
    // do some stuff
    if ($data[array][entry]['type'] = 'thingy') {
        // so some other stuff
    } else {
        // keep doing some stuff
    }
}

Я использовал ваш синтаксис "псевдокода", потому что я не уверен, чего именно вы хотите добиться, настоящий тест JSКод, с которым вам нужна помощь в вашем вопросе, будет намного легче понять и правильно ответить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...