Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript滚动文本函数-array.shift()不是函数_Javascript_Arrays - Fatal编程技术网

Javascript滚动文本函数-array.shift()不是函数

Javascript滚动文本函数-array.shift()不是函数,javascript,arrays,Javascript,Arrays,我试图使滚动文本功能,但我在Chrome控制台中得到一个错误:“NASRARY[I]。shift不是一个函数”。怎么了 var text = 'Milica'; var text1 = 'Danka'; var text2 = 'Marko'; var stext = text.split(''); var stext1 = text1.split(''); var stext2 = text2.split(''); var nasArray = [text, text1, text2];

我试图使滚动文本功能,但我在Chrome控制台中得到一个错误:“NASRARY[I]。shift不是一个函数”。怎么了

var text = 'Milica';
var text1 = 'Danka';
var text2 = 'Marko';

var stext = text.split('');
var stext1 = text1.split('');
var stext2 = text2.split('');
var nasArray = [text, text1, text2];

var i = 0;

var scroll = document.getElementById('scroll');

function start() {
    if (nasArray[i].length > 0) {
        scroll.innerHTML += nasArray[i].shift();
        setTimeout(start, 200);
    } else {
        i++;
        if (i > 2) {
            i = 0;
        }
        scroll.innerHTML = '';
        start();
    }
}

start();
shift()
是字符串,而不是字符串。由于您正在为
nasArray[i]
引用中的字符串编制索引,因此存在类型不匹配

试一试
scroll.innerHTML+=nasArray.shift()
而是一个字符串,而不是字符串。由于您正在为
nasArray[i]
引用中的字符串编制索引,因此存在类型不匹配

试一试
scroll.innerHTML+=nasArray.shift()
相反,nasArray[i]不是数组。这些元素是字符串。改用数组的shift函数


编辑:你也可以按照卢卡在评论中的建议去做<代码>变量nasArray=[stext,stext1,stext2]。这将起作用,因为
stext
stext1
等是由split函数创建的,因此是数组。

nasArray[i]不是数组。这些元素是字符串。改用数组的shift函数


编辑:你也可以按照卢卡在评论中的建议去做<代码>变量nasArray=[stext,stext1,stext2]。这将起作用,因为
stext
stext1
等是由split函数创建的,因此是数组。

您试图对字符串而不是数组调用
.shift()

如果要删除每个单词的第一个字母,应使用拆分的单词构建数组:

var nasArray = [stext, stext1, stext2];

如果您想从
nasArray
中删除第一个单词,只需在
nasArray
上调用
.shift()
,而不是
nasArray[i]
您试图在字符串而不是数组上调用
.shift()

如果要删除每个单词的第一个字母,应使用拆分的单词构建数组:

var nasArray = [stext, stext1, stext2];

如果要从
nasArray
中删除第一个单词,只需在
nasArray
上调用
.shift()
,而不是
nasArray[i]

它的意思是
nasArray[i]
不是数组。^
nasArray
是字符串数组,而不是
nasArray.shift()
?您可能想将
nasArray
定义为
var-nasArray=[stext,stext1,stext2]
它只是意味着
nasArray[i]
不是数组。^
nasArray
是字符串数组,而不是
nasArray.shift()
?您可能想将
nasArray
定义为
var-nasArray=[stext,stext1,stext2]
这与我写这篇文章时jakemingolla和psdanielxu的答案相同。这与我写这篇文章时jakemingolla和psdanielxu的答案相同。