我有一个React应用,我正在尝试查找用户上传的字符串或文本中字母的坐标(不以像素为单位)。例如,下面的文本将返回字母“ A”:
A:{[(5,1),(6,2)]}(意味着,第5列&第1行和第6列&2行具有A,每个点或字符都计为1)
..00A000011.....000000
.0000A000B...........
答案 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)
很好,那么该解决方案就可以了。