2016-07-19 10 views
-2

特定のアルゴリズムで数字の配列を生成します。だから私はいくつかの<code>arrays</code>を必要

array 1 = [1,9,17,25,33,41]; 
array 2 = [2,10,18,26,34,42]; 

など
したがって、各arrayは、最後の項目に8を加算します。
しかし、これを動的に生成する必要があります(JavaScriptの関数を使用)。

+0

あなたはここに –

+1

任意のコードを取得することはありませんあなたはすでにいくつかの努力をしてきたことを私たちに示してください。私たちは、あなたが間違ったところであなたを助けることができます。 – evolutionxbox

+0

誰かが私に答えを投稿し、他の誰かがそれを削除しました。投稿した人は彼に感謝したいと思います。 – unm4sk

答えて

3

var initValue = 5; 
 
var diff = 8; 
 
var len = 5; 
 

 
function makeDiffArray(initValue, diff, len) { 
 
    for (var i = 0, arr = []; i < len; i++) { 
 
    arr.push(initValue); 
 
    initValue += diff; 
 
    } 
 
    return arr; 
 
} 
 
console.log(makeDiffArray(initValue, diff, len));

+1

私はこの回答が気に入っていますが、なぜ彼らは彼らの努力を何も示していないときに、OPにすべてのコードを与えますか? – evolutionxbox

+0

@evolutionxboxそれが私がそれを削除した理由です...後でそれを保つことを考えました... – Rayon

+0

ありがとうございました。この事を考えながら私の脳は完全に止まった。 – unm4sk

2

このような何か?

for(var i = 1; i<10;i++){ 
 
    eval("var array" + i + " = [" + i + "];"); 
 
    for(var j = 1; j<10; j++){ 
 
    eval("array" + i + ".push(array" + i + "[array" + i + ".length] + 8);"); 
 
    } 
 
}

+0

私は最初の配列項目番号(array1は1、array2は2などで始まる)を定義するために、OPが両方の行を別のループでラップすることを望んでいると思います。 – evolutionxbox

1

また、私は、これはすでにちょうどここES6のバージョンを追加したい、受け入れられている知っている動的変数名

var arrayCount = 2; 
var initValue = 5; 
var diff = 8; 
var len = 5; 

for(var i=1; i<=arrayCount; i++) { 
    window['array'+i] = makeAnArray(i,diff,len); 
    alert(window['array'+i]); 
} 

function makeAnArray(initValue) { 
    var anArray = []; 
    for (var j = 0, init = initValue; j < len; j++) { 
    anArray.push(init); 
    init += diff; 
    } 
    return anArray; 
} 
0

を試すことができます。

let [init, diff, len] = [5, 8, 5], tmp = init; 
 
let arr = Array(len).fill(init).map((x, i) => (i) ? tmp += diff : x); 
 
console.log(arr)

関連する問題