javascript - 如何加入2个包含换行符的字符串?

时间:2015-09-05 13:14:46

标签: javascript join lines

让我们取字符串

ABC  
DEF  

并加入

123  
456

我应该

ABC123  
DEF456  

但我得到了

ABC  
DEF123  
456

我使用的代码:

javascript

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

这里有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

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);

答案 1 :(得分:0)

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>'
);