在 JavaScript 中打印数字模式
Print number patterns in JavaScript
我想按如下所示的模式打印数字,我还需要它只使用一个 for 循环打印,而不是在 for 循环内的 if 条件中打印。
如果我给出 s = 7
输出模式将是 7, 5, 3, 1, 3, 5, 7
如果s=6
则输出为6, 4, 2, 4, 6
这是我尝试过但没有成功的方法。
const s = 7, b = 2
for (x = s, d = b; x > 0 && x <= 7; x -= 2) {
console.log(x)
}
我不想使用任何预构建的库来实现此目的,例如 Math.abs()
var s = 7, b = 2, x, d;
var front = " ", back = " ";
for (x = s, d = b; x - b > 0 ; x -= b) {
front = front + " " + x;
back = x + " " + back;
}
console.log(front + " " + x + " " + back);
使用三元运算符:
const s = 10, b = 2
for (x = s, step = -b; x <= s; step = x + step <= 0 ? -step : step, x += step) {
console.log(x)
}
这对偶数和奇数都有效:
const s = 8, b = 2
for (x=s,step = b; x <=s ; (x===1 || x===2) ? (step = -b, x = x-step ): x= x-step) {
console.log(x)
}
我所做的是,在递增/递减块中,当奇数 x 等于 1 或偶数 x 等于 2 时,步长从正变为负。
要按升序打印数字:
const s = 10
for ( x=0,step=1; x!== -1 ; x===s ? (step = -1, x = x+step): x= x+step) {
console.log(x)
}
我想按如下所示的模式打印数字,我还需要它只使用一个 for 循环打印,而不是在 for 循环内的 if 条件中打印。
如果我给出 s = 7
输出模式将是 7, 5, 3, 1, 3, 5, 7
如果s=6
则输出为6, 4, 2, 4, 6
这是我尝试过但没有成功的方法。
const s = 7, b = 2
for (x = s, d = b; x > 0 && x <= 7; x -= 2) {
console.log(x)
}
我不想使用任何预构建的库来实现此目的,例如 Math.abs()
var s = 7, b = 2, x, d;
var front = " ", back = " ";
for (x = s, d = b; x - b > 0 ; x -= b) {
front = front + " " + x;
back = x + " " + back;
}
console.log(front + " " + x + " " + back);
使用三元运算符:
const s = 10, b = 2
for (x = s, step = -b; x <= s; step = x + step <= 0 ? -step : step, x += step) {
console.log(x)
}
这对偶数和奇数都有效:
const s = 8, b = 2
for (x=s,step = b; x <=s ; (x===1 || x===2) ? (step = -b, x = x-step ): x= x-step) {
console.log(x)
}
我所做的是,在递增/递减块中,当奇数 x 等于 1 或偶数 x 等于 2 时,步长从正变为负。
要按升序打印数字:
const s = 10
for ( x=0,step=1; x!== -1 ; x===s ? (step = -1, x = x+step): x= x+step) {
console.log(x)
}