使用Array中的循环值

时间:2015-06-22 11:36:25

标签: javascript arrays loops

我希望循环1到21然后使用这个循环数来获得一个字符串数组[' e1.wkh',...' e21.wkh']。但是现在我唯一的价值就是[' e21.wkh']。

function calculateStats() {

    var obj = {}

    var deviceId = "34534";

    for (var i = 1; i <= 21; i++) {

        var loo = i.toString();

        console.log(loo);

        obj[deviceId] = ['e' + loo + '.kwh'];

        console.log(obj[deviceId]);
    }

}

4 个答案:

答案 0 :(得分:1)

这是一个可能的解决方案:

问题是你要覆盖你的obj [deviceId]。

function calculateStats() {

    var obj = {}

    var deviceId = "357803045265259@rayleigh";

    obj[deviceId] = [];

    for (var i = 1; i <= 21; i++) {

        var loo = i.toString();

        console.log(loo);

        obj[deviceId].push('e' + loo + '.kwh');

        console.log(obj[deviceId]);
    }

}

https://jsfiddle.net/q651uhde/

答案 1 :(得分:1)

替换下面的行

obj[deviceId] = ['e' + loo + '.kwh'];

使用

(obj[deviceId])?obj[deviceId].push('e' + loo + '.kwh'):obj[deviceId]=['e' + loo + '.kwh'];

答案 2 :(得分:0)

function calculateStats(){

var obj = [];

var deviceId = "1111@rayleigh";

for (var i = 1; i <= 21; i++) {

    var loo = i.toString();

    console.log(loo);

    obj.push('e' + loo + '.kwh');


}

的console.log(OBJ);

} obj带着你的阵列,这就是你想要的吗?

答案 3 :(得分:0)

首先设置数组然后将每个字符串推送到它。无需将索引转换为字符串,因为无论如何它都会被强制转换为字符串。

configure; make; make install

DEMO