2016-05-11 5 views
0

は、だから私は、与えられた作品に与えられた配列を分割する必要があり、この機能を書いた:アレイをチャンクに分割する機能が正しく動作しない| JavaScriptの

function makeGrid(array, pieces){ 
    var i, output = [], temp; 
    for (i = 0; i <= array.length; i += pieces){ 
     temp = array.slice(i, i+pieces); 
     output.push(temp); 
    } 
    return output; 
} 

をしかし、私は長さ25の配列とし、5つのチャンクに自分のサイト上でそれをテストするとき、私はこの取得: enter image description here

そして、私がpythontutor.comでテストするときは、正しく機能しているのですが、問題が何であるかを誰かが知っていますか?

+0

あなたのコードはどうですか? – gurvinder372

+0

'console.log(makeGrid(tiles、$("#input-columns ")。val()))' 'tiles'は配列ですval()は私の場合、5の入力値です – Karatawi

+0

この問題を再現するためにフィドルを共有できますか? – gurvinder372

答えて

0

ないことを使用する方法がわからしかし、私はアップデートを持っている:私は $(「#入力-列」)を置き換えるたびのval()、それはそれはそう罰金

を作品実数と。あなたは

makeGrid(tiles, parseInt($("#input-columns").val(), 10)) 

そう i += piecesi += "5"になります最初の整数への入力の値を解析する必要があると i55

になります

これは、カウンタが2回だけ実行されている理由です。

+0

@downvoters私は何を欠場しましたか? – gurvinder372

+0

私は入力値を数値に設定しているので、値がintであることを確信しています。 – Karatawi

+0

@karatawi val()メソッドは 'type'属性値に関係なく' string'型の値を返します。 – gurvinder372

関連する問題