javascript - 如何使用javascript查找多维数组中特定元素的行和列

标签 javascript arrays multidimensional-array

我有一个 8x8 数组,它应该代表一个棋盘。

 var board = [['RS', 'H',  'RS', 'H',  'RS', 'H',  'RS', 'H'],
          ['BS', 'RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS'],
          ['RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS', 'BS'],
          ['BS', 'RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS'],
          ['RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS', 'BS'],
          ['BS', 'RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS'],
          ['RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS', 'BS'],
          ['F', ' RS', 'BS', 'RS', 'BS', 'RS', 'BS', 'RS']
 ];

我想获取元素 F 的行号和列号,我正在尝试使用 4 循环

 function getF(board) {
    var i, j;
    for (i = 0; i < 8; i++) {
      for (j = 0; j < 8; j++) {
        if(board[i][j] == 'F'{

     return {row:1, col:j};

如何获取所有 H 元素的索引?

最佳答案

您可以简化您的功能,例如:

 function getCharIndexes(board, char) {
    var i, j, collection = [];
    for (i = 0; i < board.length; i++) {
      for (j = 0; j < board[i].length; j++) {
        if(board[i][j] == char) {
            collection.push({row:1, col:j}); // should be {row: i, col: j}
        }
      }
    }
    return collection;
  }

要获取“F”调用:getCharIndexes(board, 'F');

要获取“H”,请调用:getCharIndexes(board, 'H');

等等

关于javascript - 如何使用javascript查找多维数组中特定元素的行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26367002/

相关文章:

javascript - 如何传递具有相同名称的多个输入数组元素值,如 ex : sikll[] via Ajax POST

javascript - 如何将数组的值附加到 Javascript 中的 SQL 语句

javascript - 如何在nodejs中将base64视频写入文件

php - 如何在 PHP 中根据另一个数组的值构建多维数组的键?

python - 在不使用 [slice,slice] 语法的情况下使用 Numpy 多维数组切片?

php - 基于单个值从多维数组中删除数组

javascript - IE 中 optgroup/option onclick 事件的问题

java - Java 删除如何影响通用数组?

ios - 快速搜索和排序

Javascript:过滤器函数不从数组中删除预期的元素