字母拆分数组

Letters into split array

我在每一行上都有一堆字母,由 var current 输出。我想将它们拆分成一个数组,我想要的输出显示在我的代码下方。

current 打印出来:

I
T
and so on...
each letter on a new line.

JS:

function check(event) {
    var current = event.target.innerText;
    var letters = current.split();
    for (i=0; i<letters.length; i++) {
        letters[i] = letters[i].replace(/\s/g,"").split("");
        console.log(letters);
    }
}

current output = [ [ 'I', 'T', 'U', 'M', 'A', 'R', 'B', 'R', 'D', 'I', 'U', 'T', 'E', 'L', 'N' ] ]
desired output = [ 'I', 'T', 'U', 'I', 'M', 'A', 'R', 'B', 'R', 'D', 'U', 'T', 'E', 'L', 'N' ]

我的问题是我当前的输出有两个方括号。我只想要一个,如所需输出所示。

您可以致电 current_output[0] 提供您的 desired_output:

current_output = [[ 'I', 'T', 'U', 'M', 'A', 'R', 'B', 'R', 'D', 'I', 'U', 'T', 'E', 'L', 'N' ]];
desired_output = current_output[0]; //[ 'I', 'T', 'U', 'M', 'A', 'R', 'B', 'R', 'D', 'I', 'U', 'T', 'E', 'L', 'N' ] 
document.write(desired_output)

之后你只需要展平你的数组:

var flattened = [];
flattened = flattened.concat.apply(flattened, letters);

之后 flattened 数组将是包含所有字母的一级平面数组。

另一方面,您的 var letters = current.split(); 操作毫无意义,所以您应该这样做

var letters = current.replace(/\s/g,"").split("");

相反,它会正常工作(根本没有任何 for 循环)。

学分:

  • Merge/flatten an Array of Arrays in JavaScript?