我有一周中的日期复选框。我正在使用ng-model但是不能为每个使用相同的模型,因为它可以防止检查多个盒子。因此,作为一种解决方法,我使用了以下格式的模型:day.sun,day.mon等。
对象结果为:$ scope.day = {sun:0,mon:1}。
我需要删除键名,以便对象看起来像这样:$ scope.day = {0,1}
有没有办法删除密钥名称?我在线查看过,大多数示例都显示删除键/值对。 Object.values()是我遇到的另一个选项,但是我收到一个未定义的错误。
我需要将该值({0,1})存储到以下对象中:
$rootScope.schedule = {
"@": {
"let_run": "yes",
"when_holiday": "ignore_holiday",
"begin":"00:00",
"end":"24:00"
},
"weekdays": {
"day": {
"@": {
**"day": $rootScope.day,**
}
}
},
"monthdays": {
"day": {
"@": {
"day": $rootScope.startDate
}
}
}
};
感谢。
答案 0 :(得分:1)
您可以使用forEach。 BTW只是{0,1}不是有效的对象。你需要使用数组。
$scope.newObj = [];
$scope.Object={sun:0, mon:1};
angular.forEach($scope.Object,function(val,key){
$scope.newObj.push(val);
})
答案 1 :(得分:1)
为了保证正确的密钥订单,您应该按顺序使用天键数组
var day = {sun: 0, mon: 1, ... },
days = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'],
dayValues = days.map(function(key) {
return day[key] || 0;
});