当前位置: 首页 > 知识库问答 >
问题:

使用forEach循环在一个数字范围中循环,并将包含1整数的任何数字替换为“beep”

左博学
2023-03-14

我是javaScript的新手,在循环和编写函数方面有些吃力。我试图想出一个函数来循环我的rangeArray,其中用户输入的数字是数组的末尾,并且每个包含1的整数都被替换为“哔”,直到用户输入的数字为止。例:[0,“哔”,2,3,4,5,6,7,8,9,“哔”,“哔”,12]。12和2将是不同的,因为稍后我打算添加一个例外,如果一个数字包含任何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));

共有1个答案

赵俊侠
2023-03-14

您可以使用array#map

null

function rangeOfNumbers(start,end) {
  let rangeArray = [];
  for (let i = start; i <= end; i++) {
    rangeArray.push(i + "");
  }
  return rangeArray.map(x => x.includes("1") ? "Beep" : x);
}
console.log(rangeOfNumbers(0,12).join());
 类似资料:
  • 问题内容: Angular确实在其HTML指令中使用数字为for循环提供了一些支持: 但是,如果您的范围变量包含具有动态数字的范围,则您每次都需要创建一个空数组。 在控制器中 在HTML中 这行得通,但是这是不必要的,因为我们根本不会在循环中使用范围数组。有谁知道设置最小值/最大值的范围或常规值? 就像是: 问题答案: 我稍微调整了这个答案,想到了这个小提琴。 过滤器定义为: 重复使用如下:

  • 我尝试将一个循环转换为一个循环在flutter中等待循环。我想要循环的元素是Firebase实时数据库中的快照。 我的函数如下所示: 我尝试了不同的方法,但是我没有让函数工作。 第一次尝试: 错误: 未处理的异常:键入'_InternalLinkedHashMap 第二次尝试: 错误: 未处理的异常:键入'_InternalLinkedHashMap 在所有的尝试中,我都得到了相同的错误。但是上述

  • 与strncmp相比,有没有一种方法可以使用标准库简化struct数组上的循环? 以下是我的尝试失败,因为std::count\U if抱怨没有重载函数std::begin matches的实例。 错误是: C2784:常量元素*标准::开始(标准::初始值设定项\u列表

  • 问题内容: 我想使用两个数组生成一个,一个包含国家/地区代码,另一个包含国家/地区名称。 这是一个例子: 这种方法对我不起作用。有什么建议么? 问题答案: 那是无效的。 您可能想要这样的东西… 另外,使代码成为数组的键会容易得多…

  • 我正在寻找一种用函数式编程方法替换嵌套foreach循环的方法。情况是这样的: 目前我的代码是这样的: 这将生成如下所示的输出: 有谁知道如何用函数式编程替代方案替换foreach代码块?