我是AngularJS的新手,我想使用object
文件中的数据构建json
。
这是我的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
循环来检查哪个用户选择== true 并将此用户名推送到新的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。但我想在添加查询之前修复此步骤。
答案 0 :(得分:3)
为此:
现在我想用foreach-loop来检查哪个用户已经有了 select == 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)
答案 1 :(得分:1)
尝试以下
library(dplyr)
library(tidyr)
data %>%
add_rownames() %>%
gather("variable", "value", -rowname) %>%
mutate(variable = gsub("_.*$", "", variable)) %>%
group_by(rowname, variable) %>%
summarise(mean = mean(value)) %>%
spread(variable, mean)
答案 2 :(得分:1)
试试这个
DataGrid
答案 3 :(得分:1)
试试这个
var tempArr = [];
angular.forEach($scope.users, function(user){
user.select && tempArr.push(user.name);
});
console.dir(tempArr);
答案 4 :(得分:0)
保持简单:
$scope.submit = function(message, title){
var tempArr = [];
angular.forEach($scope.users, function(user){
if( user.select == true) //filter select:true only
tempArr.push( {"name_as_key":user.name} ); //name_as_key can be replaced if intended to
});