
1 Cbdy 2017-02-28 00:56:53 +08:00 via Android 做成一个 b 树? |
2 czheo 2017-02-28 03:33:50 +08:00 function search(id, data) { data.forEach( d => { if (d.id == id) { console.log(d.value) } search(id, d.son) }) } search(46, data) |
3 vcfvct 2017-02-28 04:26:20 +08:00 via Android 放到 NoSQL 里面,随便 query 。 MongoDB , elastic search 什么什么的,都可以 |
4 XiaoFaye 2017-02-28 04:36:16 +08:00 整个 JSON 就是一个字符串,你直接 indexOf 不行吗?别把简单问题复杂化呀。 |
5 tomoya92 2017-02-28 07:45:04 +08:00 via Android lodash? |
6 spark 2017-02-28 09:52:50 +08:00 递归 |
7 lhstock 2017-02-28 10:07:10 +08:00 function a(data, id) { var value; function forEachs(arr) { arr.forEach(function(d) { find(d, id); d.son != 0 && forEachs(d.son) // : find(d.sum); }) } function find(d, id) { if(d.id == id) { value = d.value } } forEachs(data); return value } console.log(a(data, 46)); |
8 genesischou 2017-03-03 18:15:06 +08:00 function search(array, id, temp) { let data = array.concat(), result = temp || {}; data.forEach(item => { if (item.id === id) { result = item; return; } else if (Object.prototype.toString.call(item.son) === '[object Array]' && item.son.length) { result=search(item.son, id, result); } }) return result; } search(data, 46);//{ id: 46, value: 999879,son: [ { id: 12, value: 903, son: [] } ] } |