我必须加入一个javascript对象属性数组,但要将属性值添加到字符串中,我必须检查另一个属性是否不是undefined
或false
:
我现在做的事情:
var out = [];
$scope.grid.dataSource.data().map(function (user) {
if (angular.isDefined(user.Selected) && user.Selected == true)
out.push(user.UserPersonID);
});
var ids = out.join(",");
我想做这样的事情:
var ids = $scope.grid.dataSource.data().map(function (user) { if (user.Selected) return user.UserPersonID; }).join(",");
但如果user.Selected
不正确,我会获得,
的长列表('123 ,,, 234 ,,,'。
如何在不使用out
数组的情况下获得相同的结果?
答案 0 :(得分:4)
您正在寻找Array filter
method:
var out = $scope.grid.dataSource.data().filter(function(user) {
return angular.isDefined(user.Selected) && user.Selected;
}).map(function (user) {
return user.UserPersonID;
});