B-Teck!

お仕事からゲームまで幅広く

【JavaScript】最小値と最大値を指定して範囲内の値を持った配列を作成する

最新版は下記です。

beatdjam.hatenablog.com

/** 
* range
* 範囲内の値を持った配列を作成する
* @param {number} min 範囲の最小値
* @param {number} max 範囲の最大値
* @param {function} filer フィルタ関数
* @return {array} 作成した配列
*/
function range(min, max, filter){
    var ary = [];
    for(i = min;i <= max;i++){
        //フィルタが未定義か、フィルタに合致する値のみpush
        if(filter === void 0 || filter(i)){
            ary.push(i);
        }
    }    
    return ary;
}

//通常
console.log(range(0,10)); 
// -> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

//偶数
console.log(range(0,10,function(val){return val % 2 === 0})); 
// -> [0, 2, 4, 6, 8, 10]

//奇数
console.log(range(0,10,function(val){return val % 2 === 1}));
// -> [1, 3, 5, 7, 9]