Как заменить for на reduce?
const rCount = Array.prototype.reduce.call(str, (acc, letter) => {
    if (rX.includes(letter)) {
      acc.X++;
    } else if (rO.includes(letter)) {
      acc.O++;
    }
    return acc;
  }, { X: 0, O: 0 });

Но, поскольку это явно крестики-нолики, то можно реализовать куда как красивее.
const rCount = Array.prototype.reduce.call(str.toLowerCase(), (acc, letter) => {
    switch(letter) {
      case 'x':
        acc.X++;
        break;
      case 'o':
        acc.O++;
        break;
    }
    return acc;
  }, { X: 0, O: 0 });
https://developer.mozilla.org/ru/docs/Web/JavaScri... - функция для работы с массивами, тогда как rX, rO - строки. Преобразуй их в массивы и используй reduce, если хочется.