[英]AngularJS Map one object to another
我想根据原始字段是否为null的条件将$scope.filters
对象映射到var criteria
。
所以可以说我有:
$scope.filters = {
name: 'myName'
lastName: null,
age: null,
}
我希望将var criteria
映射到这样的非null字段:
var criteria = {
name: 'myName';
}
所以我尝试过这样的:
var criteria = {};
angular.forEach($scope.filters, function (value, key, obj) {
if (value != null) {
this.push(obj)
}
}, criteria);
但是我想我缺少了一些东西。
criteria
是一个对象,而不是数组,因此您不能推送它。 如果要存储单独的单个条件,则将其设置为数组,或者将其替换为this[key] = value;
你应该这样
$scope.filters = {
name: 'myName'
lastName: null,
age: null,
}
var criteria = []; //array, you were using object
angular.forEach($scope.filters, function(value, key) {
if (value != null) {
this.push(key + ': ' + value);
}
}, criteria);
expect(criteria).toEqual(['name: myName']);
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.