首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用通配符选择所有对象

使用通配符选择所有对象
EN

Stack Overflow用户
提问于 2016-08-23 11:20:28
回答 2查看 187关注 0票数 3

我使用角度来选择几个对象,它们都使用3个键,以相同的键开始和结束,它们的值也是相同的,只是中间的键不同。

代码语言:javascript
运行
复制
$scope.foo.one.bang = true;
$scope.foo.two.bang = true;
$scope.foo.three.bang = true;
$scope.foo.four.bang = true;
$scope.foo.five.bang = true;

是否有在第二个键中使用通配符来选择所有相关对象的内置快捷方式,如下例所示:

代码语言:javascript
运行
复制
$scope.foo.[any].bang = true;
EN

回答 2

Stack Overflow用户

发布于 2016-08-23 11:47:54

请尝试一下,首先我们将all设置为"true“,然后使用angular.forEach将all设置为false。

代码语言:javascript
运行
复制
 $scope.foo ={}
    $scope.foo.one={}
    $scope.foo.two={}
    $scope.foo.three={}
    $scope.foo.four={}
    $scope.foo.five={}
    $scope.foo.one.bang = true;
    $scope.foo.two.bang = true;
    $scope.foo.three.bang = true;
    $scope.foo.four.bang = true;
    $scope.foo.five.bang = true;

    angular.forEach($scope.foo, function(value, key) {
        value.bang=false
      console.log(value.bang);
    });
票数 0
EN

Stack Overflow用户

发布于 2016-08-23 11:51:45

在Angular.js中没有内置的方法可以做到这一点。您可以使用Angular.forEach循环,但它与纯Javascript非常相似。实现你想要的最简单的方法是使用简单的迭代循环。

代码语言:javascript
运行
复制
var obj = $scope.foo;
var objs = [];

for(let i in obj) if(obj[i].bang === true) objs.push(bang[i]);

console.log(objs); // All objects with that property
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39091802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档