.shift()显然不再存在

时间:2018-07-11 08:36:35

标签: javascript function bit-shift

https://jsfiddle.net/The95Chaps/2L4t9saq/217/是我的小提琴

您可以忽略的大多数代码,下面是函数:

var modGrid = function(code){
    var arr = code
  console.log(arr)
    for(var n=1;n<gridx+1;n++){
        for(var i = 1; i<gridy+1; i++){
        var garbledMess = "[x="+i+"][y="+n+"]"

      var idea = arr[0]
      arr.shift()
      $(garbledMess).css("background-color",idea)
    }
    }
}

语法错误如下:

Uncaught TypeError: arr.shift is not a function

at modGrid ((index):44)

at window.onload ((index):81)

由于modGrid函数接收一个数组(在我的代码中为4个元素的数组),. shift()函数应删除数组中的第一个选项,因此在我添加更多代码之前它就起作用了,但是现在显然不是函数

非常感谢

1 个答案:

答案 0 :(得分:3)

  

因为modGrid函数接受数组

它被设计为接受一个数组,但这不是您要传递的数组。

您正在向其传递一个字符串,另一个字符串,一个数字和另一个数字。

modGrid('rgba(255,0,0,1)','rgba(0,255,0,1)',2,1);