无法读取长度属性

时间:2021-06-27 18:26:52

标签: javascript

我只是尝试从二维数组中搜索数据。出于这个原因,我只运行 2 for 循环。一个用于索引,第二个用于行索引。我的第一个循环有效,但第二个条件无效。

var arr = [
  [1, 2, 3, 4, 5]
  [0, 8, 7, 6, 6]
]
var isFound = false

var find = parseInt(prompt("Enter your number"))

for (var i = 0; i < arr.length; i++) {
  for (var j = 0; j < arr[i].length; j++) {
    if (arr[i][j] == find) {
      console.log("Data is found at index number" + i + ", Row number " + j)
      isFound = true;
      break
    }
  }
}

if (!isFound) {
  console.log("data is not found")
}

2 个答案:

答案 0 :(得分:1)

arr 不是二维数组 - 您在两个“内部”数组之间缺少逗号

var arr = [
    [1,2,3,4,5],
    // Here ---^
    [0,8,7,6,6]
]
var isFound = false

var find = parseInt(prompt("Enter your number"))

for( var i =0; i <arr.length; i++) {
    for( var j = 0; j < arr[i].length; j++) {
        if(arr[i][j]==find) {
            console.log("Data is found at index number" + i + ", Row number " + j)
            isFound= true;
            break
        }
    }
}
if (!isFound) {
    console.log("data is not found")
}

答案 1 :(得分:0)

请注意,数组值之间缺少逗号。您必须用逗号分隔值,以便 javascript 知道这是数组中的两个不同值:

var arr = [
  [1, 2, 3, 4, 5],
  [0, 8, 7, 6, 6]
]