我创建了一个我现在要反转的数组。数组应显示从指定的数字到0的每个数字。
我尝试过以各种方式使用reverse()
方法,但要么错过了数组中的其他所有数字,要么根本不返回任何数字?
在下面的代码中,else if
语句是数组想要反转的地方。
有没有办法在这里使用数组上的reverse()
方法或另一种方法来执行此操作?
谢谢
function myFunc() {
var x = Math.floor(Math.random() * 100);
var counter = [];
var start = 0;
if (x > 40) {
start = 40;
} else {
start = 0; }
for (var i = start; i < x; i++) {
if (x > 40 && i % 2 == 1) {
counter.push(i);
} else if (x < 40) {
counter.push(i).reverse(); //reverse here returns nothing
counter.reverse(); //reverse here returns every other number only
}
}
return counter + ',' + x;
}
console.log(myFunc())
答案 0 :(得分:0)
......
for (var i = start; i < x; i++) {
if ((x > 40 && i % 2 == 1) || x < 40) {
counter.push(i);
}
}
if(x<40)
counter.reverse();
return counter;
}
应该这样工作......(除非我误解了你的问题?)
答案 1 :(得分:0)
我创建了一个我现在要反转的数组。数组应显示从指定的数字到0的每个数字。
如果这是问题,那么你可以更容易地解决这个问题:
var x = Math.floor(Math.random() * 100);
var counter = [];
var end = (x > 40 ? 40 : 0);
while (end <= x) {
counter.push(x);
--x;
}
return counter;
<强>演示强>
您的代码会执行其他操作,但您可以将其调整为:
while (end <= x) {
if ( ((40 < x) && (1 == x % 2)) || (40 > x)) {
counter.push(x);
}
--x;
}
答案 2 :(得分:0)
var x = Math.floor(Math.random() * 100);
var counter = [];
for (i = 0; i < x; i++) {
counter.push(i);
}
counter.reverse();
$('#Xis').html(x);
$('#outcome').html(counter + ',' + x);