【问题标题】:How can I prevent Chrome's console from condensing characters and print each one?如何防止 Chrome 的控制台压缩字符并打印每个字符?
【发布时间】:2017-07-21 07:06:35
【问题描述】:

我的函数(下面的代码)转置数组中提供的 2 个字符串,在垂直方向记录单词。我遇到的问题是,“程序员”这个词中的 2 m 和“Hello”中的 2 l 被压缩了,你可以看到它们左边的数字 2。

如何让控制台显示每个“m”和“l”。为什么只有当其中一个字符串比另一个字符串短时才会发生这种情况?

我在https://jsfiddle.net/ 上运行它,但这不会影响输出。

function transposeTwoStrings(arr)
{

    // split into characters
    var arr1 = arr[0].split('');
  var arr2 = arr[1].split('');

  //figure out longer array
  // since we will be pushing values, we will be changing the length, so
  // shouldn't use length property

  var length1 = arr1.length;
  var length2 = arr2.length;
  var diff;
  var longer;

  if (length1 > length2)
  {
    longer = length1;
    diff = length1 - length2;
    for (var i = 0; i < diff; i++)
    {
      arr2.push(' ');
    }
  }
  else if (length1 < length2)
  {
    longer = length2
    diff = length2 - length1;
    for (var k = 0; k < diff; k++)
    {
      arr1.push(' ');
    }
  }
  else
  {
    longer = length1;
  }
  //log values
  for (var j = 0; j < longer; j++)
  {
    console.log(arr1[j] + ' ' + arr2[j]);
  }


}

var arr1 = ['Hello', 'World'];
var arr2 = ['Hello', 'Jo'];
var arr3 = ['Jo', 'Hello'];
var arr4 = ['We are', 'programmers.']

transposeTwoStrings(arr1);
console.log('--------');
transposeTwoStrings(arr2);
console.log('--------');
transposeTwoStrings(arr3);
console.log('--------');
transposeTwoStrings(arr4);
console.log('--------');

【问题讨论】:

    标签: javascript google-chrome google-chrome-devtools console.log


    【解决方案1】:

    有关许多设置,请参阅https://developers.google.com/web/tools/chrome-devtools/console/。 在那里你可以看到一个解决方案:

    如果您希望每个日志都有一个唯一的行条目,请启用显示 DevTools 设置中的时间戳。由于每个时间戳 消息不同,每条消息都显示在自己的行上。

    现在每行都有时间戳,但没有“压缩”行。

    【讨论】:

    • 此解决方案有效,但当我只想在小屏幕上查看重要内容时,它会占用输出的水平空间。有没有没有时间戳的方法?
    • Is there a way of doing it without the timestamp? 我的回答中显示了。
    【解决方案2】:

    这是因为字符串相等。 每隔一个字符串添加一个空格字符:

    for (var j = 0; j < longer; j++) {
      console.log(arr1[j] + ' ' + arr2[j] + (j%2 ? ' ' : ''));
    }
    

    理想情况下,检查最后一个输出是否等于当前输出,并为每个第二个副本添加空间。

    【讨论】:

    • 你是说这是一个 JavaScript 的东西,而不是一个与控制台相关的东西?
    • 不,我不是这么说的。
    • 那么,为什么我需要更改代码?如果您查看第一个示例,则会记录“Hello World”,同时 L 都是可见的。
    • hello world 中的行不同:l rl l 而折叠的输出行是相同的。
    猜你喜欢
    • 2012-04-29
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2019-01-30
    • 2020-01-04
    • 1970-01-01
    • 2017-08-17
    相关资源
    最近更新 更多