0
私はこのコードをHTML構造をループし、そのデータ属性に基づいて配列を作成します。私はforeach
ループの中で条件文を実行したいのですが、count
変数が配列内にあるかどうかを確認したいのですが。私はを見ましたが、私はそれがassociative arrays
と一緒に動作するかどうかはわかりませんか?ここで変数がjQueryの連想配列内にあるかどうかを確認します
はHTML
<div class="dfp" data-adposition="<?php echo $dfpPos; ?>" data-dfpcode='<?php echo $dfpCode; ?>'>
</div>
<div class="dfp" data-adposition="<?php echo $dfpHalfPos; ?>" data-dfpcode='<?php echo $dfpHalfCode; ?>'>
</div>
ここで配列を作成しますJSがあります。
var dfpObj = { "adverts" : [] };
$(".dfp").each(function(){ // PROCESS DFPS
var code = $(this).data("dfpcode");
var position = $(this).data("adposition");
var dfp = {
"code": code,
"position": position
}
dfpObj.adverts.push(dfp);
});
私のIFステートメント。
if($.inArray(count, dfpObj.adverts) !== -1) {
var dfp = $('.dfp[data-adposition=' + count + ']');
var dfpcode = $(dfp).data("dfpcode");
var dfppos = $(dfp).data("adposition");
myfunction(dfpcode, dfppos);
}
// count is within a foreach loop so at the end of the loop is $count++
1. JavaScriptには「連想配列」はありません。数字で索引付けされた配列と、文字列をキーとするオブジェクトがあります。 2.「連想配列」(a.k.a.オブジェクト)を使用していなくても、 'dfpObj'という名前のオブジェクトがあります。このオブジェクトは' adverts'プロパティとしてプレーンな配列を持ち、 '$ .inArray'を実行します。 3.それでも、何が「数え」であるのかは分かりませんが、配列内の何かになるようには見えません.-「広告」はオブジェクトの配列なので、オブジェクトの配列です。同じ値を持っているのではなく、同じものを指している場合は同じです。 – vlaz
実際には 'カウント 'とそれをどのように使っているのか、私はそれが何であるかさらに混乱しています。それは本当に単なる数字ですか?その場合、オブジェクトの配列内には絶対に含まれないためです。そして、それはどこから来ていますか?配列にそれが含まれているかどうかチェックするのはなぜですか?その番号の_index_が存在するかどうかを確認するだけでしたか? – vlaz
私がやっていることは、ニュース記事を網羅して印刷することです。しかし、私たちのクライアントは、広告を表示するグリッド内のどの位置に設定することができます。したがって、countは参照として使用され、ifは 'if(countは配列dfpObjにあります)広告を出力します。 ' – WebDevDanno