将元素添加到数组javascript

时间:2016-05-21 08:36:57

标签: javascript arrays

我想生成一个包含60个元素的数组。元素[0]将从输入中获得。元素[1]必须是元素[0] * 2,依此类推。这意味着元素[2]必须是元素[1] * 2。 请告诉我如何在js中生成这个数组。

示例: 输入值= 100 输出数组= [100,200,400,800,.......]

由于

4 个答案:

答案 0 :(得分:1)

使用 map() 方法

var value = 100;

var arr = new Array(60) // generate an array of size 60
  .fill(value) // fill it with form value
  .map(function(v, i) { // genearte updated array
    return v * (i + 1); // do the arithematic operations
  });

console.log(arr);

答案 1 :(得分:0)

按照代码:

假设你有一个输入文字如下:

<input type='text' id='input' />

和一个按钮如下:

<button type='button' onclick='getArray();'>Generate Array</button>

以及javascript中的函数

<script>
function getArray()
{
   var element = [];
   var val = parseInt($('#input').val());

   var j = 0;

   for (var i = 0; i < 60; i++)
   {
       if (i == 0)
       {
           element[i] = val;
       }
       else
       {
           element[i] = element[j] * 2;
           j++;
       }
   }

   alert(element);
}
</script>

我相信这会对你有所帮助,如果确实如此,那就不要忘记给我答案......;)

...谢谢

答案 2 :(得分:0)

var input = 100;
var length = 60;

var array = new Array(length);
array[0] = input;

for(var i = 1; i < array.length; i++) {
  array[i] = array[i - 1] * 2;
}

console.log(array);

答案 3 :(得分:0)

使用Array.from创建预期的数组。它的第二个参数相当于map函数。

let getArr = input => Array.from({length: 60}, (value, index) => Math.pow(2,index) * input);