在数组中添加字符串 - Javascript

时间:2011-10-25 08:15:18

标签: javascript arrays

我有一个文本数组:

var text = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s");

我想根据设定的数字添加数组中的元素,然后将它们存储在新数组中。例如,如果我选择3,则新数组(术语)中的结果字符串将为:["a b c", "d e f", "g h i", ...]

我查看了Join,我无法让它工作 - 似乎只能将整个数组添加到一起。我猜我需要使用嵌套循环,但我似乎无法让它工作。这是我的尝试:

//Outer loop
for (i = 0; i < text.length; i++) {
    //Inner loop
    for (j = i; j < i + $numberWords; j++) {
        newWord = text[j];
        newPhrase = newPhrase + " " + newWord;
    }
    terms.push(newPhrase);
    i = i + $numberWords;
}

2 个答案:

答案 0 :(得分:4)

您可以像这样使用各种array functions

var input = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s");
var output = new Array();
var length = 3;
for (var i = 0; i < input.length; i += length) {
    output.push(input.slice(i, i + length).join(" "));
}
alert(output);

以上示例的变体:

var input = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s");
var output = new Array();
var length = 2;
while (input.length) {
    output.push(input.splice(0, length).join(" "))
}
alert(output);

答案 1 :(得分:1)

你走了:

var text=new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s");

var n = 3;
var a = new Array();
for (var i = 0; i < Math.ceil(text.length / 3); i++)
{
  var s = '';
  for (var j = 0; (j < n) && ((i*n)+j < text.length) ; j++)
  {
    s += text[n*i+j] + ' ';
  }
  a.push(s.trim());
}