在学习 JavaScript 时,我不明白为什么打印 Sting.split() 方法(以正则表达式作为参数)返回的数组时的输出如下所述。
var colorString = "red,blue,green,yellow";
var colors = colorString.split(/[^\,]+/);
document.write(colors); //this print 7 times comma: ,,,,,,,
但是,当我打印数组颜色的单个元素时,它会打印一个空字符串、三个逗号和一个空字符串:
document.write(colors[0]); //empty string
document.write(colors[1]); //,
document.write(colors[2]); //,
document.write(colors[3]); //,
document.write(colors[4]); //empty string
document.write(colors[5]); //undefined
document.write(colors[6]); //undefined
那么,为什么直接打印数组会给出七个逗号。
虽然我认为在第二个输出中使用三个逗号是正确的,但我不明白为什么会有一个开始(在索引 0 处)和结束空字符串(在索引 4 处)。
请解释我在这里搞砸了。