javascript - 如何过滤带有子对象的对象
问题描述
我有一个使用 AJAX 检索的对象。AJAX 将返回一个具有无限节点的对象,每个节点都可以有自己的孩子。我想过滤这个对象Title
,所以我只能得到标题项目。
我的想法是,如果我有任何title: 'project'
回应,我会做一件事,如果没有,我会做另一件事。
使用下面的代码片段,我如何获得这个多级对象并对其进行过滤?我试过了,filter
但没有用。我试图开始grep
工作,但我一定做错了什么,因为它也不起作用。我对 ES5/ES6 和 TS 解决方案持开放态度。
$.mockjax({
url: '/node/initdata',
responseTime: 100,
contentType: 'application/json',
responseText: {
"id": "33",
"collapsed": false,
"name": "Plan",
"title": "BusinessPlan",
"children": [{
"id": "266",
"collapsed": false,
"name": "addd",
"title": "BusinessPlanObjGoal",
"children": [{
"id": "65",
"collapsed": false,
"name": "Adding information ",
"title": "Kpi",
"children": [],
"due": 7
}, {
"id": "99",
"collapsed": false,
"name": "addd",
"title": "Project",
"children": []
}]
}, {
"id": "267",
"collapsed": false,
"name": "adddasdas",
"title": "BusinessPlanObjGoal",
"children": [{
"id": "55",
"collapsed": false,
"name": "Adding new item",
"title": "Kpi",
"children": [],
}]
}, {
"id": "268",
"collapsed": false,
"name": "plan 2",
"title": "BusinessPlanObjGoal",
"children": [{
"id": "299",
"collapsed": false,
"name": "Teste Gui",
"title": "BusinessPlanObjGoal",
"children": []
}]
}]
}
});
$.ajax({
url: '/node/initdata',
type: 'GET',
dataType: 'json',
statusCode: {
400: function() {
alert('Wrong Format!!!');
}
},
complete: function(data, status) {
jsonData = data.responseJSON;
console.log(jsonData);
/*
dt = cdt.filter(function (entry){
return entry.title==='department manager';
});
console.log(dt);
*/
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.6.2/jquery.mockjax.min.js"></script>
解决方案
推荐阅读
- php - 电子邮件不会从 Laravel 发送到 Webmail
- python - 主页上的 Django UserCreationForm
- apostrophe-cms - 在 Apostrophe CMS 中自定义件管理模式
- django - sendgrid is messing with my django models in views file
- c# - How to slice string on substrings that contain n characters c#?
- html - WordPress:LinkedIn 发布链接不显示元 og 描述或标题
- javascript - 一个我的世界机器人,它在不和谐频道中发送我的世界聊天中所说的消息
- typescript - 输入选项的基本返回类型
- java - 在使用 CASCADE 时在 Hibernate 中使用 JoinColumn 创建 OnetoMany 时遇到问题
- node.js - Minecraft/Node - 写入 process.stdin 和子进程也接收输入