如何使用包含增量拆分 [] 的变量编写 For 循环以缩小 JS 代码



希望我以正确的方式问这个问题,我完全是 JavaScript 中 For 循环的菜鸟......

我必须为此编写一个 For 循环:

var file = '/home/xxxxx/xxxx/xxxx/xxxx';
var obj = result.rows;
var split = JSON.stringify(obj).split(',');
var date1rpl = split[0].replace(/"/g,"");
var date1og = date1rpl.slice(2,100);
var date1 = splitabc(date1og);
var usr1 = split[1].replace(/"/g,"");
var session1 = split[2].replace(/("|])/g,"");
var date2rpl = split[3].replace(/"/g,"");
var date2og = date2rpl.slice(1,100);
var date2 = splitabc(date2og);
var session2 = split[5].replace(/("|])/g,"");
var usr2 = split[4].replace(/"/g,"");
var date3rpl = split[6].replace(/"/g,"");
var date3og = date3rpl.slice(1,100);
var date3 = splitabc(date3og);
var session3 = split[8].replace(/("|])/g,"");
var usr3 = split[7].replace(/"/g,"");
var date4rpl = split[9].replace(/"/g,"");
var date4og = date4rpl.slice(1,100);
var date4 = splitabc(date4og);
var session4 = split[11].replace(/("|])/g,"");
var usr4 = split[10].replace(/"/g,"");
var date5rpl = split[12].replace(/"/g,"");
var date5og = date5rpl.slice(1,100);
var date5 = splitabc(date5og);
var session5 = split[14].replace(/("|])/g,"");
var usr5 = split[13].replace(/"/g,"");
jsonfile.writeFile(file, obj);

split[] 似乎为每个用户、会话、date1rpl 递增 +3。我怎样才能把它包含在一个贯穿变量的 for 循环中,这样我就可以只将 daterpl、dateog、date、usr 和 session 作为变量,而不必对每个变量进行编号并重复它?

var date1rpl = split[0].replace(/\"/g,"(; var date1og = date1rpl.slice(2,100(; var date1 = splitabc(date1og(; var usr1 = split[1].replace(/\"/g,"(; var session1 = split[2].replace(/("|](/g,"(;

因此,您希望遍历拆分数组中的任何项目并对其进行一些工作,然后保存更新的版本以供以后使用。

您可以使用 For 循环

var dates = [];
var split = JSON.stringify(obj).split(',');
for(var i = 0; i< split.length; i++){
   var dateRpl = split[i].replace(/"/g,"");
   var dateOG = dateRpl.slice(2,100);
   dates.push(splitabc(dateOG));
}
// dates is now an array of all the processed dates

或者,您可以在数组上使用forEach方法

var dates = [];
var split = JSON.stringify(obj).split(',');
split.forEach(function(string) {
   var dateRpl = string.replace(/"/g,"");
   var dateOG = dateRpl.slice(2,100);
   dates.push(splitabc(dateOG));
});
// dates is now an array of all the processed dates

最新更新