有人能告诉我为什么这是显示数字而不是字符?

时间:2018-01-26 00:49:26

标签: javascript html arrays tokenize

以下是代码:

<!DOCTYPE html>
<html>
<head>
<style>
p {
    visibility: hidden;
}
</style>
</head>
<body>

<pre>Click the button to display the array values after the split.</pre>

<button onclick="myFunction(this)">Try it</button>

<p id="test">"ふ と、目が覚めると 部屋の 中は暗 か"</p>

<script>
function myFunction(p) {
    var str = document.getElementById("test").innerHTML;
    var array = [];
    var array2 = [];
    array.push(str.split(""));
    for (x = 0; x <= str.length; x++) {
        if (array[x] != " ") {
            array2.push(x);
        }
    }
    document.write(array2.toString());
}
</script>

</body>
</html>

我觉得问题陈述得很好,但我必须提出更多内容来发布这个问题。这就是这个底部的原因。遗憾。

1 个答案:

答案 0 :(得分:0)

您正在将循环参数x推送到第二个数组,而不是第一个数组中的字符。您应该将代码更改为:

array2.push(array[x]);

如果您打算从第一个字符串中删除空格。