【发布时间】: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