在Javascript中在数组的元素之间添加新行

时间:2014-12-22 14:30:35

标签: javascript

我有一个数组说var arr = [1,2,3,4,5,6,7,8]

现在我做一个像下面的联接

arr.join("|");

我的要求是这个数组应该在每个第三个元素之后包含新行。像

1|2|3
4|5|6
7|8|9

我们将不胜感激。

谢谢

4 个答案:

答案 0 :(得分:2)

arr.join("|").replace(/([^|]+?\|[^|]+?\|[^|]+?)\|/g, "$1\n");

答案 1 :(得分:1)

一种可能的方法:

i.join('|').replace(/\|/g, function(){
  var c = 0;
  return function(str) {
    return ++c % 3 ? str : '\n';
  }
}());

replace基本上用|替换字符串中的每三分之一\n

答案 2 :(得分:0)

您应该将阵列切割成多个子阵列,这些子阵列可以单独连接在一起:

var arr = [1,2,3,4,5,6,7,8,9];

// temporary array to push sliced and joined sub array into
var arr_ = [], i;

for (i = 0; i < arr.length; i = i + 3) {
    // slice range of 3 element from arr, join and push into  arr_
    arr_.push(arr.slice(i, i + 3).join("|"));
}

// join by newline
arr_.join("\n");

您可以提取3 asvariable来改变列宽。

答案 3 :(得分:-1)

如果您有数字数组:

arr.join("|").match(/(\d+\|\d+\|\d+)/g).join("\n");