var thisdata = $.jStorage.get(something);
var nameChi = "nameChi" + i;
var name = "name" + i;
var brought = "brought" + i;
var amount = "amount" + i;
var np = "np" + i;
var num = "num" + i;
上面是我想要简化的工作代码。我尝试使用以下代码将个别作业转换为for循环:
thisdata = $.jStorage.get(something);
var generateid = ['thisdata', 'nameChi', 'name', 'brought', 'amount', 'np', 'num']
for (var a in generateid){
var generateid[a] = generateid[a] + i
}
但是,这不起作用。任何人都可以帮我解决这个问题吗?非常感谢!!
答案 0 :(得分:2)
试试这个
var generateid = ['thisdata', 'nameChi', 'name', 'brought', 'amount', 'np', 'num']
generateid = generateid.map(each => each + i);
这是如何运作的?
map
使用函数each => each + i
是一个匿名函数,可为每个元素添加i
答案 1 :(得分:0)
您可以使用解构分配Array.prototype.map()
var generated = ["nameChi", "name", "brought", "amount", "np", "num"]
.map((n /*,i*/) => n + i);
var [nameChi, name, brought, amount, np, num] = generated;
答案 2 :(得分:0)
在您的代码中,索引是分配的问题,请使用以下代码进行使用,
var val;
var generateid = ['thisdata', 'nameChi', 'name', 'brought', 'amount', 'np', 'num'];
var index=0;
for (val of generateid ) {
generateid [index]=val + "i"
}
如何运作,
答案 3 :(得分:0)
试试这个它会起作用。
var ids = ["thisdata", "nameChi", "name", "brought", "amount", "np", "num"];
var generateid = {};
for(var i = 0; i < ids.length; i++){
generateid[ids[i]] = ids[i] + i;
}