1

私はこのようにオブジェクトを動的に構築しています:

scope.filters[scope.col.field] = { value: scope.filterValue, operator: scope.filterOperator };

ここで、scope.col.field は文字列です。

次に、さまざまなプロパティの値と演算子にアクセスするために、scope.filters をループするにはどうすればよいでしょうか?

4

2 に答える 2

2

ループinと組み合わせた演算子を探していると思います。forこのMDN を確認してください

またはこのようにしてみてください:-

for (var property in object) {
    if (object.hasOwnProperty(property)) {
        // do stuff
    }
}

あなたの場合: -

for (var fieldName in scope.filters) {
if (scope.filters.hasOwnProperty(fieldName))
{
 //.....
}
于 2013-09-19T15:23:31.183 に答える
2

基本的な例を次に示します。

for (var fieldName in scope.filters) {
    if (!scope.filters.hasOwnProperty(fieldName)) {
        alert(fieldName + ": " + scope.filters[fieldName]);
    }
}

for..inオブジェクトのすべてのメンバーを通過します。

変数が独自のメンバーであることを常に確認することをお勧めします。これにより、他の継承された関数やメンバーを取得しなくなります。を使用する理由について、適切な説明と例を次に示しますhasOwnProperty

fieldNameアラートを設定しただけですが、それぞれの値とその値に対して必要なことは何でもできることは明らかです。この場合、多くのアラートが表示されることに注意してください。

于 2013-09-19T15:24:50.153 に答える