【问题标题】:javascript: loop through object properties [duplicate]javascript:遍历对象属性[重复]
【发布时间】:2013-09-19 15:22:21
【问题描述】:

我正在像这样动态构建一个对象:

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

其中 scope.col.field 是一个字符串。

那么我如何遍历 scope.filters 以访问各种属性的值和运算符?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    这是一个基本的例子:

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

    for..in 会遍历一个对象的所有成员。

    最好始终检查变量是否是它自己的成员,这样您就不会选择任何其他继承的函数或成员。 Here 是一个很好的解释和示例,说明为什么应该使用 hasOwnProperty

    我刚刚设置了一个警报,但是您显然可以对每个 fieldName 及其值做任何您需要的事情。请注意,在这种情况下,您会收到很多警报。

    【讨论】:

    • 谢谢,效果很好
    【解决方案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))
    {
     //.....
    }
    

    【讨论】:

      猜你喜欢
      • 2017-08-30
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 2016-12-19
      相关资源
      最近更新 更多