javascript - 如何连接 2 个有换行符的字符串?

javascript - How do I join 2 strings that have line breaks?

让我们把字符串

ABC  
DEF  

并加入

123  
456

我应该得到

ABC123  
DEF456  

但我得到

ABC  
DEF123  
456

我使用的代码:

javascript:

var strings = "ABC\nDEF" + "123\n456"  
console.log(strings)

有什么帮助吗?

试试这个:

var str1 = "ABC\nDEF",
    str2 = "123\n456",
    str1ToArray = str1.split("\n"),
    str2ToArray = str2.split("\n"),
    result = "";
for (var i = 0; i < str1ToArray.length; i++) {
    result += str1ToArray[i];
    //Check if the second string was at least as long as the first one
    if (str2ToArray.length > i) result += str2ToArray[i];
    result += "\n";
}
//If the second string was longer than the first one, append its last values
for (var j = i; j < str2ToArray.length; j++) {
    result += str2ToArray[j] + "\n";
}
alert(result);

Math.max() 救援:

var i;
var a = 'ABC\nDEF\nGHI';
var b = '123\n456';
var aLines = a.split('\n');
var bLines = b.split('\n');
var cLines = [];

var l = Math.max(
  aLines.length, 
  bLines.length
);

for (i = 0; i < l; i++) {
  cLines.push((aLines[i] || '') + (bLines[i] || ''));
}

document.write(
  '<pre>' + cLines.join('\n') + '</pre>'
);