Javascript 使用输入变量访问数组中的数组

标签 javascript arrays

我正在开发一种表单,根据用户所处的州以不同方式处理输入信息。在我的网页上,我在下拉列表中有一个州列表:

<div class="top-row" title="Select the proper state from the list."> <select name="state-list" class="state-list" id="stateList" > <option value=30>Select State</option> <option value=0>AL</option> <option value=1>AR</option> <option value=2>CA</option> <option value=3>CT</option> <option value=4>DE</option> <option value=5>DC</option> <option value=6>GA</option> </select> </div>

在我的 javascript 文件中,我创建了一个名为 states 的数组,并将 States 作为数组放置:

var state = { AL: [false, true, true, 0], AZ: [false, false, false, 0],
AR: [false, true, true, 0], CA: [false, false, false, 0], 
CT: [false, true, true, 0], DE: [false, true, true, 0],
DC: [false, true, true, 0], GA: [false, true, true, 0]};


我遇到的问题是查找数组值。我做了很多搜索,但我只是没有找到解决方案。

findState = document.getElementById('stateList').value;
console.log(state.findState[0]);


它们都返回undefined,但是“findState”有一个值。如何访问状态数组中特定状态数组的值?

最佳答案

您的表达式试图访问 state 对象上的 findState 属性,但它没有名为 findState 的属性。相反,使用括号表示法:

console.log(state[findState][0]);

此外,不要忘记进行适当的 null/undefined 检查以解决找不到值的可能性(例如,如果用户重新选择下拉列表中的第一个选项)。

关于Javascript 使用输入变量访问数组中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27046114/

相关文章:

javascript - 在 sonarqube 4.5.1 上获取 "exception clearing maxRows/queryTimeout"

javascript - 在 setInterval 中使用 React 状态 Hook 时状态不更新

php - 如何使用 PHP 和 MySQLi 对照另一个多维数组检查一个多维数组值并根据结果更新批量数据?

php - 在 MySQL DB 上按目标文件夹存储多个上传内容

javascript - 将参数传递给 jQuery 中的单击事件

javascript - 如何将图像二进制文件从 API 调用转换为 Javascript 中的数据 URI?

php - 从 jQuery 源数组访问数据?

c - 从 main 传递数组并通过另一个函数修改它

java - 冒泡排序不起作用

php - 使用sort函数进行排序和分组