从数组中删除特定值

时间:2018-12-20 21:44:46

标签: javascript html

我正在编写一个代码,该代码使用数组打印所有可以除以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,但是仍然没有找到删除上述指定值的好方法。

2 个答案:

答案 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);