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



我是javaScript的新手,在循环和编写函数方面有点吃力。我正试图想出一个函数,在我的rangeArray中循环,其中用户输入的数字是数组的末尾,每个包括1的整数都被替换为"0";Beep";直到用户输入的号码。例如:[0,"蜂鸣声",2,3,4,5,6,7,8,9,"蜂鸣","蜂",12]。12和2将是不同的,因为稍后我打算添加一个例外,其中如果一个数字包括2的任何整数,它将取代"0";Beep";并将其替换为";Boop";。有人知道这个函数是怎么写的吗?到目前为止,我已经尝试过编写.include,甚至使用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]));

还可以阅读关于三元运算符的内容,它在上面以所需的替代方式使用。

您可以使用Array#map

function rangeOfNumbers(start,end) {
let rangeArray = [];
for (let i = start; i <= end; i++) {
rangeArray.push(i + "");
}
return rangeArray.map(x => x.includes("2") ? "Boop" : x.includes("1") ? "Beep" : x);
}
console.log(rangeOfNumbers(0,12).join());

也可以使用CCD_ 2。

function rangeOfNumbers(start,end) {
return Array.from({length:end-start+1},
(_,i)=>(i+start+"").includes("1") ? "Beep": i + start);
}
console.log(rangeOfNumbers(0,12).join());

最新更新