【问题标题】:HTML Array script not working (in_Array not defined)HTML Array 脚本不工作(in_Array 未定义)
【发布时间】:2016-11-07 10:30:06
【问题描述】:

TL;DR 需要帮助才能使此脚本正常工作

嗨,我一直试图让这个脚本与数组结构一起工作,但它不起作用,而且我不断收到错误 in_Array 未定义。如果可能的话,任何人都可以指出我所犯的错误,即使它很小。谢谢你的时间-西蒙

<script>
$traffictick = Array("OFF","ON","OFF");

function tick() {
  if (in_Array("ON", $traffictick[1])) {
    yellowon();
    console.log("Yellow");
    $traffictick = Array("OFF,OFF,ON;");
  } else if (in_Array("ON", $traffictick[2])) {
    redon();
     console.log("Red");
    $traffictick = Array("OFF,ON,ON;");

  } else if (in_Array("ON", $traffictick[2])) {
    yellowon();
     console.log("Red & Yellow");
    $traffictick = Array("ON,OFF,OFF;");

  } else if (in_Array("ON", $traffictick[1] & $trafficktick[2])) {
    greenon();
    console.log("Green");
    $traffictick = Array("OFF,ON,OFF;");
  }
}
</script>

【问题讨论】:

  • 您是否创建了in_Array 函数?
  • 你把 PHP 和 Javascript 混为一谈了吗……?
  • 也许你的意思是使用 $.inArray 的 jquery 函数 js 中没有 in_Array 预定义函数
  • 是的,我试图让它检查数组的位置以查看它是否应该打开或关闭编辑:我使用在线资源来编写这个,它应该是用 javascript &html

标签: javascript html arrays


【解决方案1】:

javascript中没有in_array函数,你必须手动检查你的值是否存在于数组中,

function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

使用此函数代替 in_array 并且您将值作为第二个参数传递,您必须传递一个数组。

【讨论】:

  • 什么,Javascript 数组根本不包含 test membership 的方法?! ? 打电话给 Brendan Eich!
  • 我是说没有 in_array 函数,我没有说没有其他方法可以检查成员资格@deceze
  • @deceze 有 indexOf
  • 那么你为什么要重新实现 inArray 而不是将 OP 指向现有方法?即使你坚持要实现一个名为inArray的函数,至少也要像return haystack.indexOf(needle) !== -1那样实现它。
  • @www0z0k 抱歉,忘记了&lt;/sarcasm&gt; 标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多