javascript:找到在if..then循环中使用的数组键的名称

时间:2011-12-13 20:53:42

标签: javascript arrays key

我正在迭代和关联数组,如下所示:

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

我需要根据键的NAME分配一个值,如下所示(伪代码):

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 个答案:

答案 0 :(得分:2)

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 :(得分:1)

如果我理解你的问题,你应该尝试以下:

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

我使用了“伪代码”语法,因为我不确定你想要实现什么,在你的问题中需要帮助的实际JS测试代码会更容易理解和正确回答。