迭代对象并存储在数组中

时间:2014-10-01 01:46:07

标签: javascript arrays angularjs

var selectCheckbox = [];
for (i = 0; i <= escConfigForm.chapters.size; i++) {
    if (escConfigForm.chapters['i']) {
        selectCheckbox.push({
            id: $scope.chapters['i'].id,
            name: $scope.chapters['i'].name
        });
    }
    console.log(selectedCheckbox);

我正在创建一个数组,将对象返回到$scope.chapters 看起来像:

[{"name":"Chapter 9: Negative Messages","id":"832115"},{"name":"Chapter 13: Proposals, Business Plans, and Formal Business Reports","id":"832124"}]. 

同时我想将它们与显示对象escConfigForm.chapters

(0:true 1:true 2:true);进行比较

escConfigForm.chapters.size / escConfigForm.chapters.length似乎是undefined

1 个答案:

答案 0 :(得分:0)

这是您在JS中遇到的一些奇怪复杂的事情。例如,Object.keys()将返回您为其提供的对象中的字段以及其原型中的字段。

Angular有angular.forEach便捷方法,它特别指出它不会迭代继承属性。唉,我怀疑订单是否得到保证,但也许是这样。 。