v2
- by minph 2/26/202100
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
function splitArray(array, part) {
    var tmp = [];
    for(var i = 0; i < array.length; i += part) {
        tmp.push(array.slice(i, i + part));
    }
    return tmp;
}

var rand = splitArray([...Array(300)].map(Function.call,Math.random),3)

rand = rand.map(x => [x[0]*49|0, x[1]*49+51|0, x[2]*10|0])
delete caserun single casemove downdrag and drop case


ready



var f=(a,b,c)=>[...Array((b-a)/c|0)].map((_,k)=>a+k*c);


[...rand.map(x=>f(...x))];


delete caserun single casemove upmove downdrag and drop case


ready



var f=(a,b,c)=>[...Array(b).keys()].filter(x=>!(x<a|(x-a)%c));
// 61字(出力部分46字)
// 大量に確保して一気に間引く方式。filter関数のビット演算は論理ORの代わり。

[...rand.map(x=>f(...x))];
delete caserun single casemove upmove downdrag and drop case


ready



var f=(a,b,c)=>[...Array(b-a)].flatMap((_,i)=>(i-a)%c?[]:i+a);
// 61字(出力部分46字)
// 上2つの中間。ある程度搾っておいて、flatmapで間引きと調整を同時に行う。
// flatmapで空リストを返すと、その要素の消去と同じ挙動になる。

[...rand.map(x=>f(...x))];
delete caserun single casemove upmove downdrag and drop case


ready




var f=(a,b,c)=>({[Symbol.iterator]:_=>({next:_=>({value:a,done:(a+=c)>b})})});
// 77字(出力部分のみでの利用不可)
// イテレータを作ってみたかったのでやってみた。結果としては、イテレータ仕様に制約が多く、
// 長くなった。

[...rand.map(x=>f(...x))];
delete caserun single casemove upmove downdrag and drop case


ready



function*f(a,b,c){do{yield a}while((a+=c)<b)}
// 45字(出力部なし)
// まさかの最小コード部門優勝はジェネレータ。可読性もめちゃくちゃ高く、芸術賞も同時受賞。
// ただし実用面ではリスト方式の出力部のみの利用には劣る。

[...rand.map(x=>f(...x))];
delete caserun single casemove upmove downdrag and drop case


ready



var f=(a,b,c)=>[..."".padEnd(b-a,10**c/10)].flatMap((v,i)=>-v?i+a:[]);
// 69字(54字)
// テキストメソッドをコンセプトに作ってみたもの。padEndの機能がおあつらえ向き。
// テキスト0,1を並べてstepを表現するアイデアはお気に入り。

[...rand.map(x=>f(...x))];
delete caserun single casemove updrag and drop case


ready



var f=(a,b,c)=>eval(`[${"".padEnd(b-a,0+",".repeat(c))}]`).flatMap((_,i)=>i+a);
// 78字(63字)
// テキストでarrayを構成してevalに突っ込む。リストのempty(!=undefined,!=null)のmapで参照されない特性を
// 生かしてstepを表現するという問題作。セキュリティ的にも脆弱でパフォーマンスも低い。

[...rand.map(x=>f(...x))];
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN