如果它存在于另一个数组/对象中,则获取数组中元素的索引

时间:2013-06-24 08:32:33

标签: javascript arrays object language-specifications

有两个阵列:

itemKeys: [
{
    name: "REFOBJTYPE"
},
{
    name: "REFOBJKEY"
}
...
]

itemValues: [
{
    value: ""
},
{
    value: ""
}
]

和一个对象

ref: {
    REFOBJTYPE: 1,
    REFOBJKEY: 2, 
}

它们是固定的,结构本身不能改变。

itemValues的值应该用ref对象的值填充, 要获取索引,我们必须查找itemKeys数组。

这个问题的要点:我不想使用2“for”循环检查每个密钥(如果它存在于ref中)。我想使用JAVASCRIPT特定功能,例如“indexOf”,所以:

是否有其他方式,而不是两个FOR-LOOP来完成此任务?

请不要质疑为什么我需要这个,为什么我不喜欢2个循环。显然,在“后面”的任何实现下,它将是2个循环。

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您的意思,但是如果您遍历itemKeys数组,则可以轻松查找与ref对象中的键关联的值,然后在一个循环中将其写入itemValues数组。

for (var i = 0; i < itemKeys.length; i++) {
  var key = itemKeys[i].name;
  var value = ref[key];
  itemValues[i].value = value;
}