从javascript数组中获取密钥

时间:2016-08-11 01:31:52

标签: javascript arrays

你好我有选择框来显示javascript数组。

Migrations > CSVFolder

但是当我选择一个selectbox数据时,它会得到值。这是javascript代码

<h6><strong>Brand</strong></h6>
  <select data-placeholder="Brand..."  multiple id="brand" style="width:200px;height:50px;margin: 0;">
    <script language="javascript">print_brand1("brand");</script>
  </select>

当我选择其中一个选择框数据时,如何获得密钥(而不是值)?

1 个答案:

答案 0 :(得分:1)

您的代码无法在当前状态下运行,但是如果您坚持要保留当前的阵列结构,则需要:

var brand_arr = {
    1: "Acer",
    2: "Dell"
};

在语法上没有多大意义,当你可以通过使用当前索引+1来获得这个数字时,分配1/2的键是没有意义的。

请注意,通过上述更改,为了分配键12,我们必须迭代Javascript对象而不是Javascript数组。

如果您想打印12,则可以执行以下操作:

for(var k in brand_arr) {
    if(brand_arr.hasOwnProperty(k)) {
        console.log(k); // key
        console.log(brand_arr[k]); // value
    }
}

虽然这可以解决您的问题,但我仍然会考虑您的数据结构,这样做会更有意义:

var brand_arr = [
    { brand: 'Acer', price: 200 },
    { brand: 'Dell', price: 200 }
];

请注意,在上面的示例中,我们可以在JSON中添加有关该品牌的额外详细信息。然后,我们可以迭代品牌数组,以更易读的格式获取有关每个品牌的更多详细信息,而不是用户指定的索引及其名称。