【发布时间】:2021-07-05 11:54:49
【问题描述】:
我是 javaScript 的新手,在循环和编写函数方面有些吃力。我试图想出一个循环遍历我的 rangeArray 的函数,其中用户输入的数字是数组的末尾,并且每个包含 1 的整数都被替换为“哔”,直到用户输入的数字。例如:[ 0, "哔", 2, 3, 4, 5, 6, 7, 8, 9, "哔", "哔", 12 ]。 12 和 2 会有所不同,因为稍后我打算添加一个异常,如果一个数字包含任何整数 2,它将取代“哔”并将其替换为“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));
【问题讨论】:
-
你不能使用
forEach来返回一个值,因为forEach总是返回undefined。另外,你从forEach的回调中返回,它进入位空间,调用回调的本机代码并不关心从回调返回的值。
标签: javascript arrays function loops foreach