javascript - 使用 for 循环获取数组中的值

标签 javascript arrays for-loop syntax

我有:

var myVariable= {
    var_one: ["satu", 'uno'],
    var_two: ["dua", 'dos'],
    var_three: ["tiga", 'tres'],
    var_four: ["empat", 'cuatro'],
    var_five: ["lima", 'cinco'],
    var_six: ["enam", 'seis']
};

for (var component in myVariable) {
    document.getElementById(component[0]).value = '';
}

这里的问题是: 组件值实际上返回:

var_one ... var_six

在我期待的时候:

satu ... enam

我如何使用 for in 循环获取我的数组值?

最佳答案

您正在做的是迭代对象中的键,而不是值。所以你的代码看起来像这样:

for (var key in myVariable) {
    var value_you_want = myVariable[key][0];
    document.getElementById(value_you_want).value = '';
}

跟进:

在某些情况下,您可能还需要检查以确保键是对象的属性而不是对象的原型(prototype):

for (var key in myVariable) {
    var value_you_want = myVariable[key][0];

    if(myVariable.hasOwnProperty(key)) {                  //Include this condition
        document.getElementById(value_you_want).value = '';
    }
}

关于javascript - 使用 for 循环获取数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442636/

相关文章:

arrays - 将 NSObjects 插入静态数组 Swift [快捷方式]

javascript - Lodash 更新数组之间的值

r - 如何处理 R 中 for 循环中的缺失数据 (NA)

java - java中for循环的特殊行为

javascript - 禁用页面上的空 DIV 容器

javascript - 向下钻取(Highcharts)在 Angular 5 中不起作用

javascript - 当一系列 readFile 调用在 node.js 中完成时如何运行函数?

arrays - 如何为字符串数组添加下标

python - inline 和通常的 for 循环的结果是不同的

javascript - 无法使用其他值填充其他下拉菜单 - Javascript