使用 for 循环,我必须编写代码来交换通过 javascript 中的用户输入给出的数字的第二个和第三个数字。
for ( i = 0; i < entNum.length; i++) {
if (i === 0) num2 = entNum[i];
else if (i === entNum.length - 2) {
newNum = newNum + num2;
newNum = entNum[i] + newNum;
}
else newNum = newNum + entNum[i];
}
console.log("New number:" + newNum)
这是我能够生成的代码,但是此代码交换了数字中的第一个和第二个数字,我似乎无法以针对第二个和第三个数字的方式更改代码,我也不能 100% 理解 for 循环和 if 语句。所以详细的解释会很有用。
通常您希望为您制作的东西创建函数,以便可以重用它。在这里,我将您的号码转换为字符串,然后将其拆分为数组,交换数字并连接回来。
function swap(val, x, y) {
let arr = (val + "").split("");
let tmp = arr[x];
arr[x] = arr[y];
arr[y] = tmp;
return parseInt(arr.join(""));
}
console.log(swap(12345, 1, 2));
你甚至不需要循环。您可以使用数字的字符串表示形式来完成此操作。
//make sure v1 is before b2
let str = "" + entNum;
let char1 = entNum.charAt(v1);
let char2 = entNum.charAt(v2);
str = str.substr(0,v1) + v2 + str.substring(v1 + 1, str.length) + v1;
entNum = parseInt(str);