javascript - 使用 forEach 循环循环遍历一系列数字,并将任何包含整数 1 的数字替换为 "Beep"

标签 javascript arrays function loops foreach

我是 JavaScript 新手,在循环和编写函数方面遇到了一些困难。我试图想出一个循环遍历 rangeArray 的函数,其中用户输入的数字是数组的末尾,并且每个包含 1 的整数都被替换为“Beep”,直到用户输入的数字。例如:[ 0、“嘟嘟”、2、3、4、5、6、7、8、9、“嘟嘟”、“嘟嘟”、12 ]。 12 和 2 会有所不同,因为稍后我打算添加一个异常(exception),如果一个数字包含任何整数 2,它将取代“Beep”并将其替换为“Boop”。有谁知道这个函数将如何编写?到目前为止,我已经尝试编写 .includes 甚至使用 splice,但到目前为止我只能替换数字 1 而没有其他。非常感谢您的帮助!谢谢:)

这是迄今为止我的代码:

function convertToNumber(input) {
  let parsedInput = parseInt(input);
  console.log(input);
  if (!isNaN(parsedInput)) {
    return parsedInput;
  } else {
    return false;
  }
}
function rangeOfNumbers(start,end) {
  let rangeArray = [];
  for (let i = start; i <= end; i++) {
    rangeArray.push(i + " ");
    
  }
  if (rangeArray); {
    rangeArray.forEach (function (number) {
      rangeArray.splice(1,'1',"Beep");
    }); return rangeArray;
  };
}


console.log(rangeOfNumbers(0,12));

最佳答案

要创建新数组,请使用 Array.prototype.mapRegExp.prototype.test包含将整数转换为字符串并测试特定值:

const beepify = arr => arr.map(v => (
  /2/.test(v) ? "Boop" :
  /1/.test(v) ? "Beep" :
v));

console.log(beepify([0,1,2,3,4,5,6,7,8,9,10,11,12]));

另请阅读 Ternary Operator根据需要以替代方式在上面使用。

关于javascript - 使用 forEach 循环循环遍历一系列数字,并将任何包含整数 1 的数字替换为 "Beep",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67023859/

相关文章:

arrays - Mongo 查询 - 推送唯一项并保留数组中的顺序

python - 将时间列表转换为总时间

javascript - Node.js For 循环和 Readline 函数调用?

javascript - 如何防止可观察量耦合?

javascript - jQuery 在 if 语句中使用数组数据

arrays - 计算最大偶数成本子数组

javascript - jQuery:如何使用函数的返回值到另一个函数

iphone - 如何访问同一实例中另一个类中的函数?

javascript - 为什么这个 Bootstrap 导航不起作用?

javascript - Three.js 在对象上添加按钮以显示有关该位置的信息