在JavaScript中访问Perl数组
我有一个由其他perl模块生成的未知大小的perl数组。现在,我想知道传递给jquery函数的值是否存在于perl数组中 是否有一种方法可以将输入值与perl数组中的每个值逐个进行比较 我环顾四周,似乎可以通过提供索引来访问jquery中的perl数组,但我们不知道数组的大小。所以我不知道什么时候该停下来 我的mason代码类似于:在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>
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>