通过将每个字符计数为1,可以找到文本文件中字母的坐标吗?

时间:2018-07-25 21:22:31

标签: javascript reactjs

我有一个React应用,我正在尝试查找用户上传的字符串或文本中字母的坐标(不以像素为单位)。例如,下面的文本将返回字母“ A”:

A:{[(5,1),(6,2)]}(意味着,第5列&第1行和第6列&2行具有A,每个点或字符都计为1)

..00A000011.....000000

.0000A000B...........

1 个答案:

答案 0 :(得分:0)

尝试一下

function search(str, char) {
  var lines = str.split('\n');

  var result = {
    [char]: []
  };

  for (let row = 0; row < lines.length; row++) {
    var letters = [...lines[row]];
    letters.forEach((letter, column) => {
      if (letter === char) {
        result[char].push([(column + 1), (row + 1)])
      }
    });
  }
  return result;
}

const str = `..00A000011.....000000
.0000A000B...........`;

console.log(search(str, 'A'));

仅一个建议,应该是(row, column)而不是(column, row)。但是,如果您的要求是(column, row)很好,那么该解决方案就可以了。