我是AngularJS新手,我想用来自json文件的数据构建一个object。
这是我的json文件:
[
{"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。这是我的第一次尝试:
'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 + '"}';
}
});我也试过这个:
$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的查询丢失了。但是我想在添加查询之前修复这个步骤。
发布于 2016-03-03 13:29:40
为此:
现在,我想使用一个foreach-循环来检查哪个用户选择了== true,并将这个用户名推送到我的新数组中。
$scope.submit = function(message,title){
var tempArr = [];
angular.forEach($scope.users, function(item){
if( item.select == true){
tempArr.push(item);
}
});另一个简单和更好的解决方案是使用filter。
$scope.submit = function(message,title){
var tempArr = ($scope.users).filter(function(d){
return (d.select == true);
});
});
console.log(tempArr)发布于 2016-03-03 13:22:20
试着在下面
$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);发布于 2016-03-03 13:25:37
尝尝这个
$scope.submit = function(message,title){
var tempArr = [];
angular.forEach($scope.users, function(user){
tempArr.push( {"name":user.name} );
});https://stackoverflow.com/questions/35773292
复制相似问题