javascript - 仅使用 javascript 生成和访问具有键值对的二维数组

标签 javascript jquery arrays

我想创建一个像这样的数组:

var fruits[ ]=[ [1] ["Grapes","mango","orange"] , [2] ["banana"], [A] ["Avocado","Apple"] , [P] ["Pear","Papaya","pomegranate","plum"] ];

相应地,我想使用键值对或类似的方式访问上述数组。

例如,如果我有一个包含值的下拉列表:

<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="A">A</option>
  <option value="P">P</option>
</select>

根据我的选择,它应该使用 for 循环显示相应的值,就像如果我选择选项“A”然后使用 for 循环它应该显示与选项 A 对应的值,即。鳄梨苹果。

我怎样才能做到这一点?

最佳答案

您可以使用对象而不是数组,并在 select 上绑定(bind) change 事件,然后使用 for 循环。

var fruits = {
  1: ["Grapes", "mango", "orange"],
  2: ["banana"],
  A: ["Avocado", "Apple"],
  P: ["Pear", "Papaya", "pomegranate", "plum"]
}

$('select').change(function() {
  var val = $(this).val();
  if (fruits[val]) {
    for (var i = 0; i < fruits[val].length; i++) {
      console.log(fruits[val][i])
    }
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="A">A</option>
  <option value="P">P</option>
</select>

关于javascript - 仅使用 javascript 生成和访问具有键值对的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41806500/

相关文章:

javascript - 禁用 Touch UI cq 对话框上的文本字段

javascript - 我怎样才能重用这个 JQM 函数而不是复制它 5 次?

javascript - 使用概率循环遍历项目数组

arrays - Fortran:类型未知大小的数组

javascript - jsLint for 循环声明

javascript - 如何使用angular-ui bootstrap在angularjs中实现服务器端分页。?

放置在外部文件中的 Javascript 文件未执行

javascript - $.height 在第一次加载页面时返回 0

php - php中的json对象没有被读取

arrays - 有没有什么有效的简单方法可以用 Mathematica 比较两个长度相同的列表?