【问题标题】:AngularJS way to grab a value by another value from the objectAngularJS 从对象中获取另一个值的方法
【发布时间】:2016-09-06 17:02:52
【问题描述】:

AngularJS 从对象中按键获取值的方法是什么?

var myobj=   {
        "set1": {
            "key": "B11",
            "color": "yellow"
        },
        "setA": {
            "key": "F34",
            "color": "green"
        }
    }

假设我想通过"F34"myobj 中获取"green"? (myobj 可以是任意数量的对象)。

是否可以通过 AngularJS 方式完成,或者我必须查看 SO question

【问题讨论】:

  • 这是一个通用的 JS 问题,不是 Angular 特有的。

标签: javascript angularjs function object filter


【解决方案1】:

如果您计划在多个控制器/服务中使用此场景,我会创建一个自定义过滤器来为我完成这项工作。

angular.module('myApp').filter('getColour', getColour);

function getColour() {
    return filter;

    function filter(object, key) {
        var colour;
        angular.forEach(object, function(set) {
            if (set.key === key)
                colour = set.color;
        });

        return colour;
    }
}

然后可以这样使用:

$scope.colour = $filter('getColour')(myobj, 'F34');

Example fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多