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

时间:2018-12-07 10:12:25

标签: javascript arrays console console.log

测试1

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

O / P =>这是语句1,2,3

测试2

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

O / P =>这是语句1,2,3

测试3

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

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

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

那么,为什么会这样呢?我不明白这种情况。

2 个答案:

答案 0 :(得分:2)

在测试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设置了 array ,因此在控制台中,您会看到[]表示正在记录的项目是一个数组。

答案 1 :(得分:1)

在测试1和2中,您的数组将转换为字符串:

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