字母拆分数组
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?
我在每一行上都有一堆字母,由 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?