繁体   English   中英

使用JavaScript中的数组循环调用函数

[英]Invoke a function with a loop of arrays in javascript

我有这个node.js代码:

var timeStamp = function() {
  var d = new Date();
  var year = d.getFullYear();
  var month = d.getMonth() + 1;
  var day = d.getDay();
  var hours = d.getHours();
  var minutes = d.getMinutes();
  var seconds = d.getSeconds();
  var milliseconds = d.getMilliseconds();
  var time = year + '.' + month + '.' + day + '. ' + hours + ':' + minutes + ':' + seconds + ':' + milliseconds;
  return time;
};

var tld = function() {
  var domainExtensions = ['.com', '.org'];

  for (var i=0; i<domainExtensions.length; i++) {
  return domainExtensions[i];
  }
};

// print process.argv
process.argv.forEach(function(val, index, array) {
  console.log(index + ': ' + val + '' + tld() + ' █ ' + timeStamp());
});

此输出:

$ node index.js one two=three four
0: C:\Program Files\nodejs\node.exe.com █ 2015.11.5. 13:45:18:187
1: c:\www\node\command-line-arguments\index.js.com █ 2015.11.5. 13:45:18:191
2: one.com █ 2015.11.5. 13:45:18:192
3: two=three.com █ 2015.11.5. 13:45:18:192
4: four.com █ 2015.11.5. 13:45:18:193

但是我想要的是在控制台中用数组的每个循环打印一个控制台参数:

$ node index.js one two=three four
0: C:\Program Files\nodejs\node.exe.com █ 2015.11.5. 13:45:18:187
1: C:\Program Files\nodejs\node.exe.hu █ 2015.11.5. 13:45:18:187
2: c:\www\node\command-line-arguments\index.js.com █ 2015.11.5. 13:45:18:191
3: c:\www\node\command-line-arguments\index.js.hu █ 2015.11.5. 13:45:18:191
4: one.com █ 2015.11.5. 13:45:18:192
5: one.hu █ 2015.11.5. 13:45:18:192
6: two=three.com █ 2015.11.5. 13:45:18:192
7: two=three.hu █ 2015.11.5. 13:45:18:192
8: four.com █ 2015.11.5. 13:45:18:193
9: four.hu █ 2015.11.5. 13:45:18:193

有没有办法做到这一点?

谢谢您的帮助!

调用return时,您将退出循环。 tld函数始终返回“ .com”。

尝试这个

var timeStamp = function() {
  var d = new Date();
  var year = d.getFullYear();
  var month = d.getMonth() + 1;
  var day = d.getDay();
  var hours = d.getHours();
  var minutes = d.getMinutes();
  var seconds = d.getSeconds();
  var milliseconds = d.getMilliseconds();
  var time = year + '.' + month + '.' + day + '. ' + hours + ':' + minutes + ':' + seconds + ':' + milliseconds;
  return time;
};

//better to be const
var domainExtensions = ['.com', '.org'];

// print process.argv
process.argv.forEach(function(val, index, array) {
  domainExtentions.forEach(function(tld) {
     console.log(index + ': ' + val + '' + tld + ' █ ' + timeStamp());
  });

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM