Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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中访问Perl数组_Javascript_Jquery_Perl_Mason - Fatal编程技术网

在JavaScript中访问Perl数组

在JavaScript中访问Perl数组,javascript,jquery,perl,mason,Javascript,Jquery,Perl,Mason,我有一个由其他perl模块生成的未知大小的perl数组。现在,我想知道传递给jquery函数的值是否存在于perl数组中 是否有一种方法可以将输入值与perl数组中的每个值逐个进行比较 我环顾四周,似乎可以通过提供索引来访问jquery中的perl数组,但我们不知道数组的大小。所以我不知道什么时候该停下来 我的mason代码类似于: <%perl> my @testArray = [call to some other perl module to get the value

我有一个由其他perl模块生成的未知大小的perl数组。现在,我想知道传递给jquery函数的值是否存在于perl数组中

是否有一种方法可以将输入值与perl数组中的每个值逐个进行比较

我环顾四周,似乎可以通过提供索引来访问jquery中的perl数组,但我们不知道数组的大小。所以我不知道什么时候该停下来

我的mason代码类似于:

<%perl>
    my @testArray = [call to some other perl module to get the values]
</%perl>

<script type="text/javascript">
    function checkIfValExistsInTestArray(val) {
        // Code to test if "val" exists in "@testArray". Returns boolean true/false.
    }
</script>

my@testArray=[调用其他perl模块以获取值]
函数检查IffalExistInTestArray(val){
//测试“@testArray”中是否存在“val”的代码。返回布尔值true/false。
}

要检查是否存在,您需要一个散列。传输数据的一种简单方法是使用


我不认识梅森,所以可能会有错误,但你明白了。

你能和我们分享一下你的尝试吗?因为它们都在不同的环境和不同的时间运行,你需要做得更多specific@charlietfl我编辑了该语句,并添加了示例场景(我的代码是什么样子的)。我对这项技术相当陌生,因此查询是半生不熟的。@JayBlanchard我遵循了以下示例:但由于这对未知大小的数组不起作用,所以我迷路了。在实现此方法之前,我尝试的所有方法都不适合此上下文,因此无法进行描述。除非您计划将整个数组作为javascript变量输出,否则您可以进行ajax调用以验证变量感谢您的快速回复。非常感谢。看看你编辑的版本,我很清楚我们在这里要做什么。您正在将数组的perl版本列表序列化为值为1的JSON映射,并尝试在映射中查找。我不知道正在使用JSON模块,但这是我可以从您的代码中提取的。如果我错了,请纠正我。没错。JSON是JS的一个子集,因此您基本上是生成JS代码来创建一个可以查询的对象。
% use JSON qw( );

<script type="text/javascript">

var testArray = <% JSON->new()->encode({ map { $_ => 1 } get_values() }) %>;

function checkIfValExistsInTestArray(val) {
   return testArray[val];
}

</script>
<script type="text/javascript">

var testArray = {"apple":1,"orange":1};

function checkIfValExistsInTestArray(val) {
   return testArray[val];
}

</script>