Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
5个月前关闭。
我对Javascript还是很陌生,并且已经注意到在教程中,人们使用几种替代方法来处理输出。
让我们使用一个简单的示例,并说我们要console.log()每个学生姓名数组中的每个名称,每行一个名称。
方法#1:console.log()每个单独的迭代
方法2:定义并使用输出变量在每次单独迭代中进行console.log()
方法#3:定义并使用输出变量,但是将每个带有换行符的名称存储到输出变量中,然后在整个for循环完成后将console.log()输出
所有这些都可以在我的浏览器中使用,但是我敢肯定我必须忽略一些细微的差异。我希望获得有关最佳做法的指导,并希望就一般或在特定情况下首选哪种方法以及避免或偏爱/致力于肌肉记忆的方法进行讨论。谢谢!
但是,如果您需要将每个名称放在新行中,请使用
如果要处理对象数组,则可以在
如果您想保持代码结构与问题中提供的结构相似,可以使用
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
5个月前关闭。
我对Javascript还是很陌生,并且已经注意到在教程中,人们使用几种替代方法来处理输出。
让我们使用一个简单的示例,并说我们要console.log()每个学生姓名数组中的每个名称,每行一个名称。
方法#1:console.log()每个单独的迭代
var names = ["Alan", "Barbara", "Charlie", "Denise"]
for (var i = 0; i < names.length; i++){
console.log(names[i]);
}
方法2:定义并使用输出变量在每次单独迭代中进行console.log()
var names = ["Alan", "Barbara", "Charlie", "Denise"]
var output = "";
for (var i = 0; i < names.length; i++){
output = names[i];
console.log(output);
}
方法#3:定义并使用输出变量,但是将每个带有换行符的名称存储到输出变量中,然后在整个for循环完成后将console.log()输出
var names = ["Alan", "Barbara", "Charlie", "Denise"]
var output = "";
for (var i = 0; i < names.length; i++){
output += names[i] + "\n";
}
console.log(output);
所有这些都可以在我的浏览器中使用,但是我敢肯定我必须忽略一些细微的差异。我希望获得有关最佳做法的指导,并希望就一般或在特定情况下首选哪种方法以及避免或偏爱/致力于肌肉记忆的方法进行讨论。谢谢!
最佳答案
建议的做法是在可能的情况下避免编写自己的循环。
您不需要对数组做任何事情,因为您也可以将复杂的对象输出到控制台:
console.log(["Alan", "Barbara", "Charlie", "Denise"]);
但是,如果您需要将每个名称放在新行中,请使用
Array.join
,如下所示:var names = ["Alan", "Barbara", "Charlie", "Denise"];
console.log(names.join("\n"));
如果要处理对象数组,则可以在
Array.map
之前调用join
,以便可以将它们转换为字符串。如果您想保持代码结构与问题中提供的结构相似,可以使用
forEach
:var names = ["Alan", "Barbara", "Charlie", "Denise"];
names.forEach(function(name){
console.log(name);
});
09-20 02:20