【问题标题】:Console.log convert array to comma separated valueConsole.log 将数组转换为逗号分隔值
【发布时间】:2018-12-07 10:12:24
【问题描述】:

测试 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

Test-3

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

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

test-1test-2 中预期的 O/P 应该是 this is statement [1,2,3]

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

【问题讨论】:

  • 在测试 1 中,数组被 javascript 转换为字符串。测试 2 也是如此。在测试 3 中,可以打印数组对象(不需要转换为字符串),因此作为完整数组输出

标签: javascript arrays console console.log


【解决方案1】:

在测试 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.logging 一个字符串 - 你是 console.logging 一个 数组,所以在控制台中,你会看到 []s 表示正在记录的项目是一个数组。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 2015-05-20
      • 1970-01-01
      相关资源
      最近更新 更多