Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript输出变量:最佳实践指南?_Javascript - Fatal编程技术网

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

Javascript输出变量:最佳实践指南?,javascript,Javascript,我对Javascript相当陌生,并且注意到在教程中,人们在处理输出时使用了几种替代方法 让我们使用一个简单的示例,假设我们希望console.log()在学生姓名数组中的每个姓名,每行一个姓名 方法#1:console.log()每个单独的迭代 var names = ["Alan", "Barbara", "Charlie", "Denise"] for (var i = 0; i < names.length; i++){ console.log(names[i]); }

我对Javascript相当陌生,并且注意到在教程中,人们在处理输出时使用了几种替代方法

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

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

var names = ["Alan", "Barbara", "Charlie", "Denise"]

for (var i = 0; i < names.length; i++){
   console.log(names[i]);
}
var names = ["Alan", "Barbara", "Charlie", "Denise"]
var output = "";

for (var i = 0; i < names.length; i++){
   output = names[i];
   console.log(output);
}
var name=[“艾伦”、“芭芭拉”、“查理”、“丹尼斯”]
对于(var i=0;i
方法#2:定义并使用一个输出变量来console.log()每个单独的迭代

var names = ["Alan", "Barbara", "Charlie", "Denise"]

for (var i = 0; i < names.length; i++){
   console.log(names[i]);
}
var names = ["Alan", "Barbara", "Charlie", "Denise"]
var output = "";

for (var i = 0; i < names.length; i++){
   output = names[i];
   console.log(output);
}
var name=[“艾伦”、“芭芭拉”、“查理”、“丹尼斯”]
var输出=”;
对于(var i=0;i
方法#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);
var name=[“艾伦”、“芭芭拉”、“查理”、“丹尼斯”]
var输出=”;
对于(var i=0;i

所有这些都可以在我的浏览器中使用,但我确信其中一定有一些细微的差别,我忽略了。我希望能得到一些关于最佳实践的指导,并讨论这些方法中哪一种是首选的,无论是在一般情况下还是在特定情况下,以及哪些方法应该避免或支持/致力于肌肉记忆。谢谢大家!

推荐的做法是尽可能避免编写自己的循环

您不需要对阵列执行任何操作,因为您也可以将复杂对象输出到控制台:

console.log(["Alan", "Barbara", "Charlie", "Denise"]);
但是,如果需要将每个名称放在新行中,请使用
Array.join
,如下所示:

var names = ["Alan", "Barbara", "Charlie", "Denise"];
console.log(names.join("\n"));
如果您处理的是一个对象数组,那么可以在
join
之前调用
array.map
,以便将它们转换为字符串

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

var names = ["Alan", "Barbara", "Charlie", "Denise"];
names.forEach(function(name){
    console.log(name);
});

建议的做法是尽可能避免编写自己的循环

您不需要对阵列执行任何操作,因为您也可以将复杂对象输出到控制台:

console.log(["Alan", "Barbara", "Charlie", "Denise"]);
但是,如果需要将每个名称放在新行中,请使用
Array.join
,如下所示:

var names = ["Alan", "Barbara", "Charlie", "Denise"];
console.log(names.join("\n"));
如果您处理的是一个对象数组,那么可以在
join
之前调用
array.map
,以便将它们转换为字符串

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

var names = ["Alan", "Barbara", "Charlie", "Denise"];
names.forEach(function(name){
    console.log(name);
});

随你便。没有硬性规定应该使用某种方法。是的,方法的类型当然会根据您的需求而有所不同。没有将输出到控制台以进行调试的最佳实践,任何对您来说最简单并生成正确输出的方法都可以。我认为大多数开发人员将使用
#1
。您可能偶尔会看到
#3
的变体,但使用
数组#推送
数组#加入
。我想不需要
控制台。记录数组中的每个项目。我知道这不是真实的例子,但仍然不适合
console.log
。我只需要
console.log
整个阵列,并通过一些开发工具查看它。但如果我必须从提供的样本中选择一个,我将不选择任何一个。还有更好的方法可以使用更少的代码来
console.log
项目。像
names.forEach(n=>console.log(n))
随你的便。没有硬性规定应该使用某种方法。是的,方法的类型当然会根据您的需求而有所不同。没有将输出到控制台以进行调试的最佳实践,任何对您来说最简单并生成正确输出的方法都可以。我认为大多数开发人员将使用
#1
。您可能偶尔会看到
#3
的变体,但使用
数组#推送
数组#加入
。我想不需要
控制台。记录数组中的每个项目。我知道这不是真实的例子,但仍然不适合
console.log
。我只需要
console.log
整个阵列,并通过一些开发工具查看它。但如果我必须从提供的样本中选择一个,我将不选择任何一个。还有更好的方法可以使用更少的代码来
console.log
项目。比如
names.forEach(n=>console.log(n))