首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript输出变量:最佳实践指南?

Javascript输出变量:最佳实践指南?
EN

Stack Overflow用户
提问于 2019-08-09 11:35:08
回答 1查看 54关注 0票数 2

我对Javascript相当陌生,并注意到在教程中,人们使用几种不同的方法来处理输出。

让我们使用一个简单的例子,假设我们希望在一个学生名称数组中console.log()每个名称,每一行一个名称。

方法#1: console.log()每个单独的迭代

代码语言:javascript
复制
var names = ["Alan", "Barbara", "Charlie", "Denise"]

for (var i = 0; i < names.length; i++){
   console.log(names[i]);
}

方法#2:为console.log()每个单独的迭代定义并使用一个输出变量

代码语言:javascript
复制
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()输出

代码语言:javascript
复制
var names = ["Alan", "Barbara", "Charlie", "Denise"]
var output = "";

for (var i = 0; i < names.length; i++){
   output += names[i] + "\n";
}
console.log(output);

所有这些工作在我的浏览器,但我肯定有一些微妙的差异,我忽略了。我希望得到一些关于最佳实践的指导,并讨论这些方法中哪一种更可取,无论是在一般情况下还是在特定情况下,以及哪些方法可以避免或倾向于/致力于肌肉记忆。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-08-09 11:40:24

推荐的做法是尽量避免编写自己的循环。

您不需要对数组做任何事情,因为您也可以将复杂的对象输出到控制台:

代码语言:javascript
复制
console.log(["Alan", "Barbara", "Charlie", "Denise"]);

但是,如果需要将每个名称放在新行中,请使用Array.join,如下所示:

代码语言:javascript
复制
var names = ["Alan", "Barbara", "Charlie", "Denise"];
console.log(names.join("\n"));

如果您处理的是一个对象数组,那么可以在Array.map之前调用join,这样就可以将它们转换为字符串。

如果您希望保持代码的结构与您在问题中提供的类似,则可以使用forEach

代码语言:javascript
复制
var names = ["Alan", "Barbara", "Charlie", "Denise"];
names.forEach(function(name){
    console.log(name);
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57429227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档