0

他の perl モジュールによって生成された perl に不明なサイズの配列があります。正確には、jquery 関数に渡された値が perl 配列に存在するかどうかを確認したいと考えています。

入力値と perl 配列の各値を要素ごとに比較する方法はありますか?

私は周りを見回して、インデックスを提供することでjqueryでperl配列にアクセスできるように見えますが、配列のサイズはわかりません。だからいつ止まるかわからない。

私のメイソンコードは次のようになります。

<%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>
4

1 に答える 1

2

存在を確認するには、ハッシュが必要です。データを送信する簡単な方法は、 を使用してエンコードすることJSONです。

% use JSON qw( );

<script type="text/javascript">

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

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

</script>

たとえば、 と がget_values()返さappleれた場合、次のようになりorangeます。

<script type="text/javascript">

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

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

</script>

私はメイソンを知らないので、間違いがあるかもしれませんが、あなたはその考えを理解します.

于 2014-07-17T17:01:44.593 に答える