我想生成一个包含60个元素的数组。元素[0]将从输入中获得。元素[1]必须是元素[0] * 2,依此类推。这意味着元素[2]必须是元素[1] * 2。 请告诉我如何在js中生成这个数组。
示例: 输入值= 100 输出数组= [100,200,400,800,.......]
由于
答案 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);