我正在编写一个代码,该代码使用数组打印所有可以除以3的数字,但是我无法删除特定的值。我想要的所有值都能正确打印,但是我想要排除的数字是27、33、300、450,即使它们是正确的也是如此。
ive试图弄乱splice函数,我知道我可以在不使用数组的情况下重组代码。但是我真的很想使用数组来更好地了解我可以使用它们做什么。
<script>
var div = division(1000);
var j=0;
function division(num){
var threes = [];
for (var i = 1; i <num; i++) {
j=i%3
if (j===0) {
threes.push(i);
}
}
return threes;
}
document.write(div);
</script>
此代码正确打印了1到1000之间的所有值,可除以3,但是仍然没有找到删除上述指定值的好方法。
答案 0 :(得分:3)
尝试一下
div.filter(x=>![27, 33, 300, 450].includes(x))
var div = division(1000);
var j=0;
function division(num){
var threes = [];
for (var i = 1; i <num; i++) {
j=i%3
if (j===0) {
threes.push(i);
}
}
return threes;
}
div = div.filter(x=>![27, 33, 300, 450].includes(x));
document.write(div);
答案 1 :(得分:3)
您只想设置一个包含要排除的值的数组,然后确保i
不在此数组中。可以使用![27, 33, 300, 450].includes(i)
完成此操作,如下所示:
var div = division(1000);
var j = 0;
function division(num) {
var threes = [];
for (var i = 1; i < num; i++) {
j = i % 3
if (j === 0 && ![27, 33, 300, 450].includes(i)) {
threes.push(i);
}
}
return threes;
}
document.write(div);