改善数组的动态创建

时间:2016-03-06 22:13:37

标签: javascript

我需要从strings0.05创建一个12数组,增加0.05

为此,我这样做:

function createDuration(){
    var n = 0.05;
    var arr = [String(n)];
    while(n < 12){ 
        n += 0.05;
        var temp = n.toFixed(2); 
        arr.push(String(temp));
    };
    return arr;
}
然而,这很慢。你有什么建议可以改善吗?如果有帮助,我可以使用_,但不能使用jQuery

1 个答案:

答案 0 :(得分:0)

Number#toFixed()已经返回一个字符串

function createDuration() {
    var n = 0.05,
        arr = [];
    while (n < 12.05) {
        arr.push(n.toFixed(2));
        n += 0.05;
    };
    return arr;
}

document.write('<pre>' + JSON.stringify(createDuration(), 0, 4) + '</pre>');

或者使用固定值:

function createDuration() {
    return Array.apply(null, { length: 240 }).map(function (_, i) {
        return ((i + 1) / 20).toFixed(2);
    });
}

document.write('<pre>' + JSON.stringify(createDuration(), 0, 4) + '</pre>');