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

javascript:查找在if..then循环中使用的数组键的名称,javascript,arrays,key,Javascript,Arrays,Key,我正在遍历关联数组,如下所示: for (entry in $data[array]) { // do some stuff } 我需要根据密钥的名称分配一个值,如(伪代码): 问题是,我无法让第0个元素说出它的键名,这样就可以在我键入它时使用它(我知道它不起作用…),数组本身如下所示: $data ( [success] => 1 [findings] => ( [0] => (

我正在遍历关联数组,如下所示:

for (entry in $data[array]) {
  // do some stuff
}
我需要根据密钥的名称分配一个值,如(伪代码):

问题是,我无法让第0个元素说出它的键名,这样就可以在我键入它时使用它(我知道它不起作用…),数组本身如下所示:

$data
(
    [success] => 1
    [findings] =>
        (
            [0] =>
                (
                    [type] => thingy
                    [name] => yo-yo
                    [age] => 1960    
                )
            [1] =>
                (
                    [type] => doohickey
                    [name] => clothespin
                    [age] => 1940    
                )
        )
)
所以…基本上我需要做的是做一些不同的事情,如果键是“类型”。基本上,对于每个“type”键,例如,将文本设置为红色

我错过了什么才能让它发挥作用P我希望我说清楚了


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
    }
  }
}

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
    }
  }
}

如果我能很好地理解你的问题,那么你应该尝试以下方法:

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

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

如果我能很好地理解你的问题,那么你应该尝试以下方法:

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

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

我发现你的伪代码非常混乱。是否认为
array
将是一个字符串变量,其值为
'success'
'findings'
?你说的“钥匙”或“钥匙名称”是什么意思?似乎
$data[array][entry][type']
的“name”或“key”只是
'type'
。不我认为真正的代码,加上实际的JavaScript语法,可能会更加清晰。您的整个演示文稿在各种情况下都很混乱。首先,JS中没有
then
。接下来,一个
if
是一个条件,而不是一个循环。马虎会让你直接进入布格兰。然后,您将分配一个条件-很可能是一个bug。另外,1940年和1960年可能是出生年份你到底想说什么?天哪,说真的?请告诉我你在开玩笑。。。这是一个从CSV文件中提取的简单数组的实际工作JS!唯一的“伪”部分是我在末尾加上的
.name
,表示我在那里寻找密钥的名称。对于tarde mente:`if(键名是'thingy){do other stuff}else{do stuff}@WhiteRau:为了澄清,我发现混淆的是(1)伪代码(非JavaScript)对象表示法;(2) 事实上,从字面上看,上述对象表示法似乎试图使用数组作为键;(3) 您的初始代码使用
数组
作为变量名来引用键,这一事实强化了这一概念;(4)事实上,你的整个问题都是问如何做一些事情——对不起——一些非常明显的事情,所以我认为我一定是误解了你。我发现你的伪代码非常混乱。是否认为
array
将是一个字符串变量,其值为
'success'
'findings'
?你说的“钥匙”或“钥匙名称”是什么意思?似乎
$data[array][entry][type']
的“name”或“key”只是
'type'
。不我认为真正的代码,加上实际的JavaScript语法,可能会更加清晰。您的整个演示文稿在各种情况下都很混乱。首先,JS中没有
then
。接下来,一个
if
是一个条件,而不是一个循环。马虎会让你直接进入布格兰。然后,您将分配一个条件-很可能是一个bug。另外,1940年和1960年可能是出生年份你到底想说什么?天哪,说真的?请告诉我你在开玩笑。。。这是一个从CSV文件中提取的简单数组的实际工作JS!唯一的“伪”部分是我在末尾加上的
.name
,表示我在那里寻找密钥的名称。对于tarde mente:`if(键名是'thingy){do other stuff}else{do stuff}@WhiteRau:为了澄清,我发现混淆的是(1)伪代码(非JavaScript)对象表示法;(2) 事实上,从字面上看,上述对象表示法似乎试图使用数组作为键;(3) 您的初始代码使用
数组
作为变量名来引用键,这一事实强化了这一概念;(4)事实上,你的整个问题都是在问如何做某件事——对不起——一件非常明显的事,所以我想我一定是误解了你。我想我试了一点,但一定是因为它不起作用而捏造了它,所以我放弃了它。现在看到它,我知道我错在哪里了。你的路更清楚了。非常感谢。:)我想我试过一种味道,但一定是因为它不起作用而捏造出来的,所以我放弃了它。现在看到它,我知道我错在哪里了。你的路更清楚了。非常感谢。:)这是实际的JS代码。见我上面的评论。不过,别担心@Mathletics帮我整理的。这是实际的JS代码。见我上面的评论。不过,别担心@数学帮我分类。