我发布这个是因为我从来没有找到过滤嵌套对象(树结构)的精确答案.
假设我们有一个JSON树结构,如下所示:
$scope.tree = [{
id: 1,
parent_id: 0,
name: 'Root Item',
items: [
{
id: 2,
parent_id: 1,
name: '1st Child of 1'
},
{
id: 3,
parent_id: 1,
name: '2nd Child of 1'
},
{
id: 4,
parent_id: 1,
name: '3rd Child of 1',
items:[
{
id:5,
parent_id: 4,
name:'1st Child of 5'
},
{
id:6,
parent_id: 4,
name:'2nd Child of 5'
}
]}
]
}]
Run Code Online (Sandbox Code Playgroud)
我们如何使用过滤器遍历树以获取id为6的对象?
我想存储一个嵌套节点
<html>
<head>
<script src="https://cdn.firebase.com/js/client/2.2.1/firebase.js"></script>
<script language="javascript" type="text/javascript">
var ref = new Firebase("https://mydatabase.firebaseio.com/");
ref.child("clubs").set(
{
"03": {
"competities":
"102": { "aantalteams": 2 }
}
} );
</script>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
这给了我一个'意外的令牌'错误,我添加了竞争ID"102".是否无法在Firebase中一次设置嵌套节点?或者怎么样?
所以如果我能够嵌套字典,我的代码看起来最好.我的问题是:
以下是我尝试使用的一些代码.请告诉我正确的格式是什么,以及可能出错的地方......谢谢!
Student.Alice = {
Student.Alice.Math = {
'math1'= 100
'math2'= 98
'math3' = 89
'math4' = 91
'math5' = 77
'math6' = 90
'math7' = 82
'math8' = 100
'math9' = 79
'math10' = 100
}
Student.Alice.English = {
'english1' = 100
'english2' = 97
'english3' = 98
'english4' = 88
'english5' = 94
'english6' = 95
'english7' = 98
'english8' = 82
'english9' = 84
'english10' = 99
}
Student.Alice.Science = {
'science1' = 78 …Run Code Online (Sandbox Code Playgroud) 如果我有这样的嵌套数组:
"localValues" : [
{
"localValId" : "e3rQACssGkfp9zsue",
"localProductCode" : "271102502",
"localMembersPrice" : 7814.090000000001,
"localProductDescription" : "11R225 146/143L H DUN SP384 FM TL",
"fetPr" : "29.39",
"invPrice" : "353.85"
},
{
"localValId" : "NxtmZngRpGY56grkW",
"localProductCode" : "290132910",
"localMembersPrice" : "300",
"localProductDescription" : "215/70R16 99S DUN GRNDTRK ST20 BSWTL",
"fetPr" : "",
"invPrice" : "136.72"
},
{
"localValId" : "WXLiCMJMixndtQtqZ",
"localProductCode" : "271102502",
"localMembersPrice" : "444",
"localProductDescription" : "11R225 146/143L H DUN SP384 FM TL",
"fetPr" : "29.39",
"invPrice" : "353.85" …Run Code Online (Sandbox Code Playgroud) 我一直在努力解决以下问题:
我希望在视图显示之前得到一些数据,(解析).但是有些数据取决于另一个承诺的结果.
它是这样的:我从$ stateParams获取作业ID(索引)并在我的服务中查找数据.一旦完成,从这个结果(作业),我可以查找设置和楼层(每个来自不同的服务),都返回一个承诺.
我到目前为止所得到的
jobinfo: function(Jobs, Floor, JobSetting, $stateParams, $q) {
var defer = $q.defer();
Jobs.getByIndex($stateParams.index)
.then(function(job) {
console.log('got jobs');
$q.all({floors: Floor.getByJob(job), settings: JobSetting.getByJob(job)})
.then(function(info) {
console.log('got info');
defer.resolve([job, info.floors, info.settings]);
});
});
return defer.promise;
}
Run Code Online (Sandbox Code Playgroud)
拿2
jobinfo: function(Jobs, Floor, JobSetting, $stateParams, $q) {
return Jobs.getByIndex($stateParams.index)
.then(function(job) {
console.log('got jobs');
return $q.all({floors: Floor.getByJob(job), settings: JobSetting.getByJob(job)})
.then(function(info) {
console.log('got info');
return [job, info.floors, info.settings];
});
});
}
Run Code Online (Sandbox Code Playgroud)
两者似乎都失败了,我甚至都没有console.log回来.
PS:我把剩下的代码留了出来,显然它们被包裹了
resolve: {
...
}
Run Code Online (Sandbox Code Playgroud)
并在正确的地方定义.
有人可以如此温柔地指出我正确的方向吗?
我最终得到的解决方案如下:(感谢avcajaraville) …
我需要获取一个n嵌套向量的内部类型。例如:
type a; //base_type of a = type
std::vector<type> b; //base_type of b = type
std::vector<std::vector<type>> c;//base_type of c = type
Run Code Online (Sandbox Code Playgroud)
等等。我尝试使用包装器,但这会导致编译器错误。
template<typename T1>
struct base_type : T1::value_type { };
template<typename T1>
struct base_type<std::vector<T1>> {
using type = typename base_type<T1>::value_type;
};
Run Code Online (Sandbox Code Playgroud) 这是其中之一"必须有更好的方法!" 的东西.我有一个嵌套的粘贴语句,我将在下面发布上下文.我需要打印一个声明,说" group x在以下的竞赛中击败以下组type y:group a, group b, ...group so and so"代码"部分"指的是由函数的其他方面确定的不同变量.我现在的方式有几种不同粘贴语句嵌套在一起,其中五个是准确的.关于如何使这个更少的任何想法......凌乱?这是原始代码:
paste(paste(paste(paste(un[j], "beat out the following groups:"), paste(un[t],collapse=", ")), "in"), n[i])
Run Code Online (Sandbox Code Playgroud) 我有这些数据:
val _2BeFlat: Future[Option[Future[List[Long]]]] = ...
Run Code Online (Sandbox Code Playgroud)
我需要:
val flat: Future[Option[List[Long]]] = ...
Run Code Online (Sandbox Code Playgroud)
有办法吗?
更新:我一直在这里寻找相关的问题,似乎无法找到我正在寻找的东西.我需要展平一些嵌套数据.我的数据框目前看起来像这样:
Col_A | Col B
red | 1
red | 2
red | 4
red | 5
blue | 2
blue | 2
blue | 3
green | 1
green | 2
green | 3
green | 3
green | 7
green | 9
black | 4
orange| 1
orange| 2
Run Code Online (Sandbox Code Playgroud)
但是,我希望它看起来像这样:
A | B | C | D | E | F | G |
red | 1 | 2 | 4 | 5 | NA| NA|
blue | …Run Code Online (Sandbox Code Playgroud) 我正在学习C中的嵌套结构,我想要做的是能够为我的struct的成员结构赋值.我无法搞清楚这一点,我不想强迫自己在结构初始化中初始化成员结构.当我尝试编译此代码时,为什么一直出现错误?
main.c: In function 'main':
main.c:16:23: error: expected expression before '{' token
fooPerson.fullname = {"Foo", 'B', "Baz"};
Run Code Online (Sandbox Code Playgroud)
#define LEN 20
struct names {
char first[LEN];
char middle;
char last[LEN];
};
struct person {
struct names fullname;
};
int main() {
struct person fooPerson;
fooPerson.fullname = {"Foo", 'B', "Baz"};
// NOT this: it works, but not the solution I'm asking for
// struct person fooPerson = {{"Foo", 'B', "Baz"}};
}
Run Code Online (Sandbox Code Playgroud)