我是 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.map与 RegExp.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/