首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angularjs前环问题

angularjs前环问题
EN

Stack Overflow用户
提问于 2016-03-03 13:18:28
回答 5查看 4.4K关注 0票数 1

我是AngularJS新手,我想用来自json文件的数据构建一个object

这是我的json文件:

代码语言:javascript
复制
[
  {"id": 1, "name": "user1", "select": false },
  {"id": 2, "name": "user2", "select": false },
  {"id": 3, "name": "user3", "select": false },
  {"id": 4, "name": "user4", "select": false },
  {"id": 5, "name": "user5", "select": false }
]

现在,我想使用foreach循环来检查哪个用户获得了,选择了==,真正的,并将这个用户名推送到新的array。这是我的第一次尝试:

代码语言:javascript
复制
'use strict';

angular.module('apiOmat', [])


  .controller('UsersCtrl', function($scope, $http){
    $http.get('users.json').then(function(usersResponse) {
      $scope.users = usersResponse.data;
    });


$scope.submit = function(message,title){

var tempArr = [];
angular.forEach($scope.users.name, function(value,key){
 tempArr.push(value);
});

console.log(tempArr);

    $scope.messagebody = '{ "title" = "' + title + '", "message" = "' + message  + '"}'; 
}

 });

我也试过这个:

代码语言:javascript
复制
  $scope.submit = function(message,title){

    var tempArr = [];
    angular.forEach($scope.users, function(value,key){
     tempArr.push( { key :  value } );
    });

    console.log(tempArr);

控制台记录5个对象,但没有任何值。只是1:对象2:对象3:对象.

我知道对true或false的查询丢失了。但是我想在添加查询之前修复这个步骤。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-03-03 13:29:40

为此:

现在,我想使用一个foreach-循环来检查哪个用户选择了== true,并将这个用户名推送到我的新数组中。

代码语言:javascript
复制
$scope.submit = function(message,title){
   var tempArr = [];
   angular.forEach($scope.users, function(item){
     if( item.select == true){
       tempArr.push(item);
     }
   });

另一个简单和更好的解决方案是使用filter

代码语言:javascript
复制
$scope.submit = function(message,title){
    var tempArr = ($scope.users).filter(function(d){
         return (d.select == true);
    });
 });

console.log(tempArr)
票数 3
EN

Stack Overflow用户

发布于 2016-03-03 13:22:20

试着在下面

代码语言:javascript
复制
$scope.submit = function(message,title){

var tempArr = [];
angular.forEach($scope.users, function(i,j){

if(i.select == true)
{
 tempArr.push( i.name );
  }
});

console.log(tempArr);
票数 1
EN

Stack Overflow用户

发布于 2016-03-03 13:25:37

尝尝这个

代码语言:javascript
复制
   $scope.submit = function(message,title){
   var tempArr = [];
   angular.forEach($scope.users, function(user){
   tempArr.push( {"name":user.name} );
   });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35773292

复制
相关文章

相似问题

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