在对象数组中按属性查找对象

时间:2017-09-08 15:13:49

标签: javascript angularjs

我在JavaScript和AngularJS中有一组对象,它们有两个属性:id和checked。我想使用for循环来提取查找与所选复选框的id匹配的id,并将该对象的checked属性设置为checked。到目前为止,我已尝试过以下方法:

JS

    settings.showChecked = function (object, $event) {
        for (var x in settings.rules) {
            if (settings.rules.hasOwnProperty(x)) {
                if (typeof settings.rules[id] == $event.currentTarget.id) {
                    findAndReplace(settings.rules[checked], $event.currentTarget.id);
                }
                if (settings.rules[id] === $event.currentTarget.id) {
                    settings.rules["checked"] = true;
                }
            }
        }
        console.clear();
        console.log(settings.rules);
    }

HTML

<div class="time-check" ng-repeat="service in settings.services">
    <input type="checkbox" value="None" ng-change="settings.showChecked(settings.rules, $event)" ng-model="service.checked" class="time-check-input" id="{{level.LevelTmsCode}}-{{day.Day}}-{{service.TimeValidation}}" name="check"/>
    <label for="{{level.LevelTmsCode}}-{{day.Day}}-{{service.TimeValidation}}" class="time-check-input"></label> <span>{{service.TimeValidation}}</span>
</div>

然而,当我运行它时,它跳过了typeof条件,我知道这意味着它们不是同一类型,但却难以理解为什么这两个类型不是同一类型?

最终,我的最终目标是拥有一个已经检查过的项目列表,这些项目是从包含每个可能的选项组合的原始规则集派生的。

0 个答案:

没有答案