我有一个JavaScript多维数组,它有多个具有大量子值的值。这就是我的意思:
var items = {
"Area": [
"Feet",
"Meters"
],
"Frequency": [
"Hertz",
"Kilohertz"
]
};
我想循环浏览每个第一维项目(如区域和频率)。我不想循环遍历子值,而是获取第一个维度值的名称。
这是我要循环的代码:
$(function() {
$.each(items, function(index) {
$(".category").append("<option>" + items[index].text + "</option>");
});
});
为了确保,我想获取每个第一维值的名称,例如Area和Frequency。我尝试过.text,.val,.val()(jQuery),.innerHTML等等,但似乎没什么用。
编辑:在[index]项之后不设置任何内容只返回每个第一维项目的子值。
答案 0 :(得分:3)
你所拥有的而不是多维数组是一个对象(或地图,hashmap,无论它在其他语言中被调用;)
要获取所有密钥,您可以使用Object.keys(myObj);
var items = {
"Area": [
"Feet",
"Meters"
],
"Frequency": [
"Hertz",
"Kilohertz"
]
};
var keys = Object.keys(items);
console.log(keys);
// iterate through them
keys.forEach(function(item, index) {
console.log(index, item);
});
&#13;
答案 1 :(得分:1)
执行items[index]
时,表示您引用的是items
的值。 index
是关键,items[index]
是值。试试这段代码:
var items = {
"Area": [
"Feet",
"Meters"
],
"Frequency": [
"Hertz",
"Kilohertz"
]
};
$(function() {
$.each(items, function(index, value) {
$(".category").append("<option>" + index + "</option>");
console.log(index);
console.log(value);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;