我想在JS中实现一个循环脚本

时间:2018-02-04 17:33:32

标签: javascript jquery

我想实现一个脚本来创建一个由1到20的整数组成的数组。选择那些可以除以3并乘以3次幂的元素。然后从三个最大元素中选择最小值。

这是我的代码..

var total = 0;
var arrVal = [];
for (var counter = 0; counter <= 20; counter++) {
     var i = 3;
     var a = 0;
     if (counter%i===0 && i!==counter) {
        arrVal.push(counter * i);
     } 
}
console.log(arrVal)
for(var i = arrVal.length; i > 0; i--) {
    if(i >= 3){ 
        max = arrVal[i];
        total = max;
    }
} 
console.log(total);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我想知道它是否合适?

提前致谢..

1 个答案:

答案 0 :(得分:0)

如果我明白你想做什么,你可以更容易地做到这一点:

Array(21).fill(0).map((v, i) => i).filter(v => v !== 3 && v % 3 === 0).map(v => v * 3).slice(-3)[0]

我将解释每一步:

  1. 首先创建一个大小为20+1
  2. 的数组
  3. 然后用零填充它(因为你可以迭代一组未定义的值)
  4. 使用每个元素的索引号填充(0123 ...,20)。
  5. 过滤数组以获取可以除以3但不是3(069,...)的元素,然后将它们乘以3 (01827,...)
  6. 切割最后三个元素(364554
  7. 取第一个元素,它是三个最高元素中最低的元素。