无法读取属性推送null

for*_*fly 8 javascript arrays angularjs-scope

在第一次将元素推送到null数组的子数组时,我收到此错误"无法读取属性推送空"但元素被推送,第二次我做的一切都很顺利.它被添加到数组

this.group.departmentsList.push({
    name: group.newCategoryName,
    sortOrder: group.departmentsList.length,
    type: "category"
});
Run Code Online (Sandbox Code Playgroud)

group包含数据,departmentList是子数组,声明如下:

 $scope.parentDepartment = [
    {
        departmentsList: [{}]
    }
];
Run Code Online (Sandbox Code Playgroud)

dfs*_*fsq 11

那么不要推送到不存在的阵列?您可以显式检查它是否为null并在需要时创建一个:

this.group.departmentsList = this.group.departmentsList || [];
this.group.departmentsList.push({
    name: group.newCategoryName,
    sortOrder: group.departmentsList.length,
    type: "category"
});
Run Code Online (Sandbox Code Playgroud)