【js】将1-100之间的奇数存入数组

来源:互联网 发布:flume采集mysql数据库 编辑:程序博客网 时间:2024/06/07 18:38

      数组在js的应用中非常重要,很多地方都用到了数组进行存储数据。今天总结一个小小的问题,但是很容易忘记的小知识点。

要求:将1-100之间的奇数存入到数组中。

分析:

        假设数组array,循环判断初始值var i=1。

        大家最先想到的方法应该是我们对i进行判断,然后将符合条件的i值存入数组array[i],最后进行打印查看结果是否正确,代码如下:

var array=[];for(var i = 1; i< 100; i++){        if(i % 2 !== 0){               array[i] = i;        }}console.log(array);

打印结果为:

[1: 1, 3: 3, 5: 5, 7: 7, 9: 9, 11: 11, 13: 13, 15: 15, 17: 17, 19: 19, 21: 21, 23: 23, 25: 25, 27: 27, 29: 29, 31: 31, 33: 33, 35: 35, 37: 37, 39: 39, 41: 41, 43: 43, 45: 45, 47: 47, 49: 49, 51: 51, 53: 53, 55: 55, 57: 57, 59: 59, 61: 61, 63: 63, 65: 65, 67: 67, 69: 69, 71: 71, 73: 73, 75: 75, 77: 77, 79: 79, 81: 81, 83: 83, 85: 85, 87: 87, 89: 89, 91: 91, 93: 93, 95: 95, 97: 97, 99: 99]

       从结果我们可以看到数组的下标不是连续的,但是我们想到的数组应该是连续的,那么为什么会出现这个问题呢?因为我们在for循环中进行判断的时候,是符合条件的才存进数组,这个时候i也就是不连续的。

解决办法:

       我在这里举了三个简单的例子,可能还有其他的方法^^。

方法一:

var array=[];for(var i = 1; i< 100; i++){     if(i % 2 !== 0){        array.push(i);       }}console.log(array);

        push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

方法二:

var array = [];var j = 0;for(var i = 1; i< 100; i++){    if(i % 2 !== 0){         array[j] = i;         j ++;    }}console.log(array);
方法三:

var array = [];for(var i = 1; i< 100; i++){      if(i % 2 !== 0){           array[array.length] = i;        }}console.log(array);
       这个方法比较巧妙,我来解释一下,刚开始array的长度为0,然后存入1,之后array长度加1,然后存入3,以此内推,最终得到的结果就是我们想要的。
打印结果:

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]



1 0
原创粉丝点击