Array 拡張

Array.prototype.fill = function(step) {
    if(this.length != 2 || typeof this[0] != 'number' || typeof this[1] != 'number') return this;
    var s = this[0];
    var e = this[1];
    var pl = (typeof step == 'number') ? step : 1;
    for(var res=[];s<=e;s+=pl) {
        res.push(s);
    }   
    return res;
}

仕様例

js> [1,10].fill()
1,2,3,4,5,6,7,8,9,10
js> [1,10].fill(2)
1,3,5,7,9
js> [1,10].fill(3)
1,4,7,10
js> [1,3,5].fill()
1,3,5
js> ["hoge","fuga"].fill()
hoge,fuga


要素が数字以外の場合の動作はこれでいいと思うけど、
長さが3以上のときの動作が微妙だな。
メソッド名も微妙