javascript - Console.log 将数组转换为逗号分隔值

标签 javascript arrays console console.log

测试 1

let myArray = [1,2,3]
function arrayCounter (array1) {
    console.log(`this is statement ${array1}`);
}
arrayCounter(myArray)

O/P => this is statement 1,2,3

测试 2

let myArray = [1,2,3]
function arrayCounter2 (array1) {
    console.log("this is statement " + array1);
}
arrayCounter2(myArray)

O/P => this is statement 1,2,3

测试 3

let myArray = [1,2,3]
console.log(myArray)

O/P => [1,2,3]

test-1test-2 中,预期的 O/P 应该是这样的语句 [1,2,3]

那么,为什么会发生这种情况?我不明白场景。

最佳答案

在测试 1 和测试 2 中,您将数组与字符串连接起来,这会导致调用 Array.prototype.valueOf,它返回由逗号连接的数组项,或 myArray.join(',') 所以:

console.log(`this is statement ${array1}`);

相同
console.log("this is statement " + array1);

相同
console.log("this is statement " + array1.join(','));

但在测试 3 中,您不是在 console.log 中处理字符串,而是在 console.log 中处理数组,因此在控制台中,您将看到 [] 指示正在记录的项目是一个数组。

关于javascript - Console.log 将数组转换为逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53667388/

相关文章:

javascript - PHP防止用户粘贴无效字符

c# - 为字符串索引分配新值

php - 如何将foreach循环的结果放入数组并获取最高值

c++ - 如何使我的函数对重载的 iostream 提取运算符具有粘性

javascript - jQuery 在动态加载的 div 上添加类

javascript - 为什么我的正则表达式在 .NET 中有效,但在 Javascript 中无效?

javascript - 保存输入值,以便在用户留空时恢复为默认值

c - 不再有令人困惑的指针

.net - .NET中的高级控制台IO

Python连续解析控制台输入