javascript - Javascript - 二维数组未捕获的类型错误
问题描述
我有一个带有嵌入式 js 函数的简单 html 页面,如下所示
<script>
function getSelectedPlaces(rowNum, arr) {
var count = 0;
for (let i = 0; i < 9; i++) {
if (arr[rowNum][i] == 0) {
continue;
}
++count;
}
return count;
}
function start() {
var arr = [
[0, 0, 0, 1, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 1, 0, 0]
[0, 0, 1, 1, 0, 1, 0, 0, 1]
];
alert(getSelectedPlaces(0, arr));
}
</script>
<p style="color: green">
The content above was created with JavaScript.<br>
This content is created with <b>HTML</b>.<br>
You can edit JavaScript and HTML in the left part of the page
and click "<b>Run code</b>" to view results in the right part of the page.
</p>
<b>LESSON 4: CALL A JAVASCRIPT FUNCTION:</b>
<input type=button onClick="start()" value="Generate random number">
但是,我收到一条错误消息"JavaScript error: Uncaught TypeError: Cannot read property '0' of undefined on line 5"
,第 5 行在哪里if (arr[rowNum][i] == 0) {
寻求帮助,因为我是 JS 新手
解决方案
您需要用逗号分隔子数组:
var arr = [
[0, 0, 0, 1, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 1, 1, 0, 1, 0, 0, 1]
];
推荐阅读
- android - 在recyclerview中删除项目后我的数据返回
- lua - 尝试使用“findFirstChild”错误索引 nil
- javascript - .appendChild 不是 HTMLButtonElement 中的函数。在 DOM 中
- r - 基于 R 中其他列的函数构造数据框列
- visual-studio-code - 如何修复由 CMake 工具在 VSCode 的“.vscode\c_cpp_properties.json”中创建的 Linux 路径?
- azure - 使用 Azure Function 将视频上传到 Blob 存储
- docker - .env 文件没有改变?
- html - 使用 JQuery 根据所选选项对多个列表进行排序
- excel - Excel - 如何获取地址的各个组成部分
- puppeteer - 如何在 puppeteer js 中选择具有多个类名和特定 aria-label 的按钮?