JavaScript でPHP ループのようなものを実行する方法があるかどうか知りたいですforeach
。探している機能は、次の PHP スニペットのようなものです。
foreach($data as $key => $value) { }
JSfor..in
ループを調べていましたが、 を指定する方法はないようですas
。これを「通常の」 for ループ ( for(var i = 0; i < data.length; i++
) で実行する場合、キー => 値のペアを取得する方法はありますか?
ベストアンサー1
for (var k in target){
if (target.hasOwnProperty(k)) {
alert("Key is " + k + ", value is " + target[k]);
}
}
hasOwnProperty
は、プロトタイプから継承したのではなく、実際にそのプロパティを持っているかどうかを確認するために使用されますtarget
。もう少し簡単にすると、次のようになります。
for (var k in target){
if (typeof target[k] !== 'function') {
alert("Key is " + k + ", value is" + target[k]);
}
}
k
がメソッドではないことを確認するだけです(target
メソッドである場合は、、、などarray
、多くのメソッドが警告されます)。indexOf
push
pop