Javascript输出变量:最佳实践指南?
我对Javascript相当陌生,并且注意到在教程中,人们在处理输出时使用了几种替代方法 让我们使用一个简单的示例,假设我们希望console.log()在学生姓名数组中的每个姓名,每行一个姓名 方法#1:console.log()每个单独的迭代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]); }
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))