如何使用数字反转字符串,但不要反转1和0?

use*_*351 12 javascript algorithm

我正在学习随机算法,我目前在一个库存中,我必须反转包含数字的字符串,但我不会在字符串中反转1和0,例如,2345678910将是1098765432.

这是我到目前为止所做的:

function split(str) {
  let temp = [];
  temp = str.split('');
  const backwards = [];
  const totalItems = str.length - 1;
  for (let i = totalItems; i >= 0; i--) {
    backwards.push(temp[i]);

  }
  return backwards.join('').toString();

}
console.log(split("10 2 3 U S A"));
console.log(split("2345678910"));
Run Code Online (Sandbox Code Playgroud)

我目前的问题是没有扭转10.

我究竟做错了什么?

OmG*_*OmG 14

您可以10使用文本中不存在的指定字符替换,并在运行实现的算法后将其替换为10.

let out_of_alphabet_character = '#';
var reg_for_the_alphabet = new RegExp(out_of_alphabet_character, "g");

function specific_revert(str) {
  str = str.replace(/(10)/g, out_of_alphabet_character);
  let temp = [];
  
  temp = str.split('');
  const backwards = [];
  const totalItems = str.length - 1;
  for (let i = totalItems; i >= 0; i--) {
    backwards.push(temp[i]);
  }
  return backwards.join('').toString().replace(reg_for_the_alphabet, '10');
}
console.log(specific_revert("10 2 3 U S A"));
console.log(specific_revert("234567891010"));
Run Code Online (Sandbox Code Playgroud)