{"id":509359,"date":"2021-06-13T18:56:28","date_gmt":"2021-06-13T10:56:28","guid":{"rendered":"http:\/\/4563.org\/?p=509359"},"modified":"2021-06-13T18:56:28","modified_gmt":"2021-06-13T10:56:28","slug":"%e6%b1%82%e5%a4%a7%e4%bd%ac%e4%bb%ac%e4%bc%98%e5%8c%96%e4%b8%80%e4%b8%8b%e4%bb%a3%e7%a0%81%ef%bc%8c%e5%b1%8e%e5%b1%b1%e4%bb%a3%e7%a0%81%e7%bb%99%e5%ad%a9%e5%ad%90%e5%a4%b4%e7%9a%ae%e6%83%b3%e7%a0%b4","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=509359","title":{"rendered":"\u6c42\u5927\u4f6c\u4eec\u4f18\u5316\u4e00\u4e0b\u4ee3\u7801\uff0c\u5c4e\u5c71\u4ee3\u7801\u7ed9\u5b69\u5b50\u5934\u76ae\u60f3\u7834\u4e86"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1> \u6c42\u5927\u4f6c\u4eec\u4f18\u5316\u4e00\u4e0b\u4ee3\u7801\uff0c\u5c4e\u5c71\u4ee3\u7801\u7ed9\u5b69\u5b50\u5934\u76ae\u60f3\u7834\u4e86 <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <span><i><\/i> 3<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\"> \u79c9\u7740\u4e0d\u5199\u5783\u573e\u4ee3\u7801\u7684\u539f\u5219\uff0c\u6c42\u5927\u4f6c\u4f18\u5316\u4e00\u4e0b\uff0c\u6700\u4f18\u503c\u5949\u4e0a\u7ea2\u5305<br \/>\u9700\u6c42\u662f\u8fd9\u6837\u7684\uff1a<br \/>\u4e07\u6076\u540e\u7aef\u4f20\u8fc7\u6765\u7684\u6570\u636e\uff1a<br \/>&#8220;data&#8221;:[{&#8220;province&#8221;:&#8221;\u4e0a\u6d77\u5e02&#8221;,&#8221;city&#8221;:&#8221;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;,&#8221;adcode&#8221;:&#8221;310118&#8243;,&#8221;district&#8221;:&#8221;\u9752\u6d66\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u6c5f\u82cf&#8221;,&#8221;city&#8221;:&#8221;\u82cf\u5dde\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;320506&#8243;,&#8221;district&#8221;:&#8221;\u5434\u4e2d\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u5c71\u897f\u7701&#8221;,&#8221;city&#8221;:&#8221;\u9633\u6cc9\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;140302&#8243;,&#8221;district&#8221;:&#8221;\u57ce\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u4e0a\u6d77\u5e02&#8221;,&#8221;city&#8221;:&#8221;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;,&#8221;adcode&#8221;:&#8221;310101&#8243;,&#8221;district&#8221;:&#8221;\u9ec4\u6d66\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u6cb3\u5317\u7701&#8221;,&#8221;city&#8221;:&#8221;\u77f3\u5bb6\u5e84\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;130123&#8243;,&#8221;district&#8221;:&#8221;\u6b63\u5b9a\u53bf&#8221;}]<br \/>\u9700\u8981\u6574\u5408\u6210\u8fd9\u6837 elementUi \u4e2d\u7ea7\u8054\u9009\u62e9\u5668\u4e2d\u7684\u6570\u636e\uff1a<br \/>\uff08\u53ea\u8981\u6709\u76f8\u540c\u7684\u5c31\u8981\u53bb\u91cd\u5e76\u5728\u4e4b\u524d\u7684 children \u4e0b\u52a0\u5165\u91cd\u590d\u7684 children \uff09<br \/>addressOptions: [<br \/> {<br \/> value: &#8220;zhinan&#8221;,<br \/> label: &#8220;\u6307\u5357&#8221;,<br \/> children: [<br \/> {<br \/> value: &#8220;shejiyuanze&#8221;,<br \/> label: &#8220;\u8bbe\u8ba1\u539f\u5219&#8221;,<br \/> children: [<br \/> {<br \/> value: &#8220;yizhi&#8221;,<br \/> label: &#8220;\u4e00\u81f4&#8221;,<br \/> },<br \/> {<br \/> value: &#8220;fankui&#8221;,<br \/> label: &#8220;\u53cd\u9988&#8221;,<br \/> },<br \/> {<br \/> value: &#8220;xiaolv&#8221;,<br \/> label: &#8220;\u6548\u7387&#8221;,<br \/> },<br \/> {<br \/> value: &#8220;kekong&#8221;,<br \/> label: &#8220;\u53ef\u63a7&#8221;,<br \/> },<br \/> ],<br \/> },<br \/> {<br \/> value: &#8220;daohang&#8221;,<br \/> label: &#8220;\u5bfc\u822a&#8221;,<br \/> children: [<br \/> {<br \/> value: &#8220;cexiangdaohang&#8221;,<br \/> label: &#8220;\u4fa7\u5411\u5bfc\u822a&#8221;,<br \/> },<br \/> {<br \/> value: &#8220;dingbudaohang&#8221;,<br \/> label: &#8220;\u9876\u90e8\u5bfc\u822a&#8221;,<br \/> },<br \/> ],<br \/> },<br \/> ],<br \/> },<br \/> ],<br \/>\u6211\u7684\u5783\u573e\u4ee3\u7801\uff1a<br \/> dealWithAddressList(arr, name) {<br \/> var city = {};<br \/> return arr.reduce(function (item, ele) {<br \/> console.log(ele[name]);<br \/> if (city[ele[name]]) {<br \/> item.forEach((eles) =&gt; {<br \/> if (eles.label == ele[name]) {<br \/> eles.children.forEach((eless) =&gt; {<br \/> if (eless.value == ele.city) {<br \/> eless.children.push({<br \/> value: ele.adcode,<br \/> label: ele.district,<br \/> });<br \/> } else {<br \/> eles.children.push({<br \/> value: ele.city,<br \/> label: ele.city,<br \/> children: [<br \/> {<br \/> value: ele.adcode,<br \/> label: ele.district,<br \/> },<br \/> ],<br \/> });<br \/> }<br \/> });<br \/> }<br \/> });<br \/> console.log(city[ele[name]]);<br \/> } else {<br \/> city[ele[name]] =<br \/> true &amp;&amp;<br \/> item.push({<br \/> value: ele.province,<br \/> label: ele.province,<br \/> children: [<br \/> {<br \/> value: ele.city,<br \/> label: ele.city,<br \/> children: [<br \/> {<br \/> value: ele.adcode,<br \/> label: ele.district,<br \/> },<br \/> ],<br \/> },<br \/> ],<br \/> });<br \/> }<br \/> console.log(item);<br \/> return item;<br \/> }, []);<br \/> },<br \/>\u6c42\u5927\u4f6c\u4f18\u5316\u4e00\u4e0b\uff0c\u53ef\u4ee5\u7684\u8bdd\u6709\u7ea2\u5305\u5949\u4e0a  <\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>60<\/span>) <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"5986159\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : yiqiao <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u4e3a\u4ec0\u4e48\u4e0d\u76f4\u63a5\u8ba9\u540e\u7aef\u6539\u4e0b\uff1f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986160\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @yiqiao \u540e\u7aef\u50bb\u74dc\u4e0d\u6539 \u60f3\u9524\u4ed6 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986161\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : meshell <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @happyCodings \u6211\u89c9\u5f97\u8fd9\u4e2a\u786e\u5b9e\u4e0d\u8981\u540e\u7aef\u6539\uff0c\u524d\u7aef\u81ea\u5df2\u8f6c\u6362\u6240\u9700\u8981\u7684\u7ed3\u6784 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986162\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : AidenChen <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u8fd9\u4e2a\u5c31\u662f\u8981\u524d\u7aef\u6539\uff0c\u540e\u7aef\u59cb\u7ec8\u63d0\u4f9b\u5217\u8868\u4ee5\u9002\u5e94\u4e0d\u540c\u7684\u5c55\u793a\u9700\u6c42\uff1b\u8fd9\u91cc\u7684\u5904\u7406\u5b9e\u8d28\u4e0a\u5c31\u662f\u4ee5\u6839\u8282\u70b9\u4e3a\u6700\u7ec8\u7236\u7ea7\uff0c\u751f\u6210\u5b50\u5b59\u6811 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986163\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : long2ice <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u540e\u7aef\u6ca1\u6bdb\u75c5 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986164\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xiangyuecn <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u540e\u7aef\u7ed9\u5e73\u94fa\u5c55\u5f00\u7684\u6570\u636e\uff08\u4e00\u5c42\u6570\u7ec4\uff09\uff0c\u6570\u636e\u5e93\u91cc\u9762\u600e\u4e48\u5b58\u7684\u5c31\u600e\u4e48\u62ff\uff0c\u6ca1\u6bdb\u75c5<br \/>\u7ed3\u6784\u683c\u5f0f\u5316\uff0cjs \u5f88\u5bb9\u6613\uff08\u7b80\u6d01\uff09\uff0c\u5927\u90e8\u5206\u540e\u7aef\u8bed\u8a00\u5f88\u56f0\u96be\uff08\u8e69\u811a\u96be\u770b\uff09<br \/>\u4f60\u8fd9\u4e2a\u9012\u5f52\u51e0\u884c\u4ee3\u7801\u5c31\u641e\u5b9a\u4e86\uff0c\u4e5f\u66f4\u5bb9\u6613\u7406\u89e3\uff0c\u4f60\u5012\u597d for \u4e5f\u4e0d\u5199\uff0creduce \u6709\u90a3\u4e48\u9999\u5417\uff1f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986165\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : TomatoYuyuko <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u8fd9\u4e0d\u662f\u524d\u7aef\u57fa\u672c\u529f\u561b\uff0c\u751f\u6210\u6811\uff0c\u9762\u8bd5\u90fd\u7ecf\u5e38\u4f1a\u9047\u5230\u7684\u9898\uff0c\u81ea\u5df1\u5199\u4e2a\u5de5\u5177\u7c7b\u5904\u7406\uff0c\u9012\u5f52\u51e0\u5c42\u5c31\u51fa\u6765\u4e86\u3002\u9047\u5230\u8fd9\u79cd\u95ee\u9898\u4e0d\u8981\u786c\u5faa\u73af\uff0c\u540e\u9762\u7ef4\u62a4\u770b\u5230\u4f60\u4eba\u90fd\u9ebb\u4e86\u3002\u3002 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986166\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : TomatoYuyuko <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u524d\u7aef\u6570\u636e\u5904\u7406\u76f4\u63a5\u7528 lodash\uff0c\u6211\u8bb0\u5f97\u6709\u73b0\u6210\u7684\u65b9\u6cd5\uff0c\u4f60\u627e\u627e <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986167\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : liyang5945 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u4f60\u8fd9\u4e2a\u5c31\u4e24\u7ea7\u5417\uff0c\u4e24\u7ea7\u6211\u6709\u4e2a\u7b80\u5355\u7684\u5199\u6cd5 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986168\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : a719031256 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @happyCodings <br \/>\u8fd9\u4e2a\u4e0d\u5e94\u8be5\u540e\u7aef\u6539\uff0c\u524d\u51e0\u5929\u8fd8\u5728\u7ed9\u6211\u914d\u5408\u7684\u524d\u7aef\u8bf4\u8fd9\u4e2a\u4e8b\u60c5<br \/>\u524d\u7aef\u9700\u6c42\u53d8\u5316\u5f88\u5feb\uff0c\u6bcf\u6b21\u53d8\u5316\u90fd\u8981\u540e\u7aef\u7ed9\u524d\u7aef\u518d\u5c01\u88c5\u6570\u636e\uff0c\u5c31\u4e0d\u65b9\u4fbf\u4e86\uff0c\u8fd8\u4e0d\u5982\u540e\u7aef\u53cd\u4f60\u56fa\u5b9a\u683c\u5f0f\u6570\u636e\uff0c\u524d\u7aef\u6309\u5b9e\u9645\u9700\u6c42\u5c01\u88c5\u81ea\u5df1\u7684\u9700\u8981\u7684\u683c\u5f0f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986169\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : aguesuka <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> class Address {<br \/> \/**<br \/> * @type string<br \/> *\/<br \/> province<br \/> \/**<br \/> * @type string<br \/> *\/<br \/> city<br \/> \/**<br \/> * @type string<br \/> *\/<br \/> adcode<br \/> \/**<br \/> * @type string<br \/> *\/<br \/> district<br \/>}<br \/>class TreeNode {<br \/> \/**<br \/> * @type string<br \/> *\/<br \/> value<br \/> \/**<br \/> * @type string<br \/> *\/<br \/> label<br \/> \/**<br \/> * @type TreeNode[]<br \/> *\/<br \/> children<br \/>}<br \/>\/**<br \/> *<br \/> * @param addresses {Address[]}<br \/> * @return TreeNode[]<br \/> *\/<br \/>function dealWithAddressList(addresses) {<br \/> \/**<br \/> * @type {TreeNode[]}<br \/> *\/<br \/> const result = []<br \/> \/**<br \/> *<br \/> * @type {Map&lt;string, TreeNode&gt;}<br \/> *\/<br \/> const createdElements = new Map()<br \/> \/**<br \/> *<br \/> * @param value {string}<br \/> * @param brothers {TreeNode[]}<br \/> * @returns {TreeNode}<br \/> *\/<br \/> const nodeOf = (value, brothers) =&gt; {<br \/> let node = createdElements.get(value);<br \/> if (node === undefined) {<br \/> node = {<br \/> children: [],<br \/> value: value,<br \/> label: value,<br \/> }<br \/> brothers.push(node)<br \/> createdElements.set(value, node)<br \/> }<br \/> return node<br \/> }<br \/> for (let address of addresses) {<br \/> let provinceNode = nodeOf(address.province, result)<br \/> let cityNode = nodeOf(address.city, provinceNode.children);<br \/> cityNode.children.push({<br \/> children: [],<br \/> value: address.adcode,<br \/> label: address.district,<br \/> })<br \/> }<br \/> return result;<br \/>}<br \/>function test() {<br \/> return dealWithAddressList([{&#8220;province&#8221;: &#8220;\u4e0a\u6d77\u5e02&#8221;, &#8220;city&#8221;: &#8220;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;, &#8220;adcode&#8221;: &#8220;310118&#8221;, &#8220;district&#8221;: &#8220;\u9752\u6d66\u533a&#8221;},<br \/> {&#8220;province&#8221;: &#8220;\u6c5f\u82cf&#8221;, &#8220;city&#8221;: &#8220;\u82cf\u5dde\u5e02&#8221;, &#8220;adcode&#8221;: &#8220;320506&#8221;, &#8220;district&#8221;: &#8220;\u5434\u4e2d\u533a&#8221;},<br \/> {&#8220;province&#8221;: &#8220;\u5c71\u897f\u7701&#8221;, &#8220;city&#8221;: &#8220;\u9633\u6cc9\u5e02&#8221;, &#8220;adcode&#8221;: &#8220;140302&#8221;, &#8220;district&#8221;: &#8220;\u57ce\u533a&#8221;},<br \/> {&#8220;province&#8221;: &#8220;\u4e0a\u6d77\u5e02&#8221;, &#8220;city&#8221;: &#8220;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;, &#8220;adcode&#8221;: &#8220;310101&#8221;, &#8220;district&#8221;: &#8220;\u9ec4\u6d66\u533a&#8221;},<br \/> {&#8220;province&#8221;: &#8220;\u6cb3\u5317\u7701&#8221;, &#8220;city&#8221;: &#8220;\u77f3\u5bb6\u5e84\u5e02&#8221;, &#8220;adcode&#8221;: &#8220;130123&#8221;, &#8220;district&#8221;: &#8220;\u6b63\u5b9a\u53bf&#8221;}]);<br \/>}<br \/>test() <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986170\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zhangchongjie <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\u5982\u679c\u4e5f\u662f\u540e\u7aef\u6539\uff0c\u90a3\u4e00\u4e2a\u5171\u7528\u63a5\u53e3\u5f97\u5199\u591a\u5c11\u8fd4\u56de\u7c7b\u578b\u5440 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986171\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ccraohng <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> function convert() {<br \/> const levels = [&#8216;province&#8217;, &#8216;city&#8217;, &#8216;district&#8217;];<br \/> const result = {<br \/> children: {},<br \/> };<br \/> data.forEach((item) =&gt; {<br \/> levels.reduce((map, level) =&gt; {<br \/> const current = item[level];<br \/> if (!map.children) {<br \/> map.children = {};<br \/> }<br \/> map.children[current] = map.children[current] || {<br \/> data: {<br \/> label: current,<br \/> value: level === &#8216;district&#8217; ? item.adcode : current,<br \/> },<br \/> };<br \/> return map.children[current];<br \/> }, result);<br \/> });<br \/> const format = (item) =&gt; {<br \/> if (item.children) {<br \/> const children = Object.values(item.children).map((child) =&gt; {<br \/> return format(child);<br \/> });<br \/> item.children = children;<br \/> }<br \/> return item;<br \/> };<br \/> const root = format(result).children;<br \/> console.log(root);<br \/> }<br \/> convert(); <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986172\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Vegetable <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> http:\/\/js.jsrun.net\/RQVKp<br \/>\u5904\u7406\u7701\u5e02\u533a\u4ec0\u4e48\u7684\u5199\u7684\u6bd4\u8f83\u96be\u770b\uff0c\u5927\u6982\u5c31\u662f\u8fd9\u4e2a\u601d\u8def\u5427<br \/>\u901a\u8fc7\u4e00\u4e2a hash \u505a\u6620\u5c04\uff0c\u65b9\u4fbf\u627e\u5230\u7236\u8282\u70b9 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986173\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : HashV2 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u6211\u505a\u540e\u7aef\u7684\u65f6\u5019\u90fd\u662f\u524d\u7aef\u6765\u6539\u7ed3\u6784\uff0c\u6211\u505a\u524d\u7aef\u7684\u65f6\u5019\u90fd\u662f\u540e\u7aef\u6765\u6539\u7ed3\u6784\uff08\u56e0\u4e3a\u6211\u6bd4\u8f83\u80fd\u55b7\uff0c\u800c\u4e14\u4e0d\u6015 delay \uff09<br \/>\u73b0\u5728\u6211\u5168\u6808\u4e86\uff0c\u54ea\u8fb9\u7b80\u5355\u65b9\u4fbf\u54ea\u8fb9\u6539\u3002\u3002\u3002\uff08\u73b0\u5728\u8d3c\u6015 delay\uff0cdeadline \u5c31\u662f\u7b2c\u4e00\u751f\u4ea7\u529b\uff09 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986174\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ryncv <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div>  O(1)\u590d\u6742\u5ea6<br \/>&#8220;`javascript<br \/>const data =[{&#8220;province&#8221;:&#8221;\u4e0a\u6d77\u5e02&#8221;,&#8221;city&#8221;:&#8221;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;,&#8221;adcode&#8221;:&#8221;310118&#8243;,&#8221;district&#8221;:&#8221;\u9752\u6d66\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u6c5f\u82cf&#8221;,&#8221;city&#8221;:&#8221;\u82cf\u5dde\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;320506&#8243;,&#8221;district&#8221;:&#8221;\u5434\u4e2d\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u5c71\u897f\u7701&#8221;,&#8221;city&#8221;:&#8221;\u9633\u6cc9\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;140302&#8243;,&#8221;district&#8221;:&#8221;\u57ce\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u4e0a\u6d77\u5e02&#8221;,&#8221;city&#8221;:&#8221;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;,&#8221;adcode&#8221;:&#8221;310101&#8243;,&#8221;district&#8221;:&#8221;\u9ec4\u6d66\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u6cb3\u5317\u7701&#8221;,&#8221;city&#8221;:&#8221;\u77f3\u5bb6\u5e84\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;130123&#8243;,&#8221;district&#8221;:&#8221;\u6b63\u5b9a\u53bf&#8221;}];<br \/>function listToTree(list) {<br \/> const map = {}; <br \/> list.forEach(({province, city, district, adcode}) =&gt; {<br \/> const item = {name: district, value: adcode};<br \/> if (!map[province]) {<br \/> map[province] = {<br \/> name: province,<br \/> children: [{<br \/> name: city,<br \/> children: [item]<br \/> }]<br \/> }<br \/> return;<br \/> }<br \/> const cityItem = map[province].children.find(one =&gt; one.name === city);<br \/> if (!cityItem) {<br \/> map[province].children.push({ name: city,children: [item]})<br \/> } else {<br \/> cityItem.children.push(item);<br \/> }<br \/> })<br \/> return Object.values(map);<br \/>}<br \/>console.log(listToTree(data));<br \/>&#8220;` <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986175\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : bnm965321 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u770b\u770b python \u7684 defaultDict\uff0c\u7136\u540e\u5957\u4e24\u5c42\u5d4c\u5957\u7684 defaultDict \u5c31\u77e5\u9053\u600e\u4e48\u505a\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986176\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : timedivision <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> &#8220;` js<br \/>const data = [<br \/> {<br \/> province: &#8216;\u4e0a\u6d77\u5e02&#8217;,<br \/> city: &#8216;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8217;,<br \/> adcode: &#8216;310118&#8217;,<br \/> district: &#8216;\u9752\u6d66\u533a&#8217;,<br \/> },<br \/> { province: &#8216;\u6c5f\u82cf&#8217;, city: &#8216;\u82cf\u5dde\u5e02&#8217;, adcode: &#8216;320506&#8217;, district: &#8216;\u5434\u4e2d\u533a&#8217; },<br \/> { province: &#8216;\u5c71\u897f\u7701&#8217;, city: &#8216;\u9633\u6cc9\u5e02&#8217;, adcode: &#8216;140302&#8217;, district: &#8216;\u57ce\u533a&#8217; },<br \/> {<br \/> province: &#8216;\u4e0a\u6d77\u5e02&#8217;,<br \/> city: &#8216;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8217;,<br \/> adcode: &#8216;310101&#8217;,<br \/> district: &#8216;\u9ec4\u6d66\u533a&#8217;,<br \/> },<br \/> {<br \/> province: &#8216;\u6cb3\u5317\u7701&#8217;,<br \/> city: &#8216;\u77f3\u5bb6\u5e84\u5e02&#8217;,<br \/> adcode: &#8216;130123&#8217;,<br \/> district: &#8216;\u6b63\u5b9a\u53bf&#8217;,<br \/> },<br \/>];<br \/>const pObj = {};<br \/>const cObj = {};<br \/>data.forEach(item =&gt; {<br \/> const { province, city } = item;<br \/> if (pObj[province]) {<br \/> pObj[province].push(item);<br \/> } else {<br \/> pObj[province] = [item];<br \/> }<br \/> if (cObj[city]) {<br \/> cObj[city].push(item);<br \/> } else {<br \/> cObj[city] = [item];<br \/> }<br \/>});<br \/>const proValue = Object.values(pObj);<br \/>const cityKey = Object.keys(cObj);<br \/>const res = [];<br \/>proValue.forEach(pro =&gt; {<br \/> cityKey.forEach(key =&gt; {<br \/> if (pro[0] &amp;&amp; key === pro[0].city) {<br \/> res.push({<br \/> value: pro[0].adcode,<br \/> label: pro[0].province,<br \/> children: [<br \/> {<br \/> label: key,<br \/> value: pro[0].adcode,<br \/> children: cObj[key].map(dis =&gt; {<br \/> return {<br \/> label: dis.district,<br \/> value: pro[0].adcode,<br \/> };<br \/> }),<br \/> },<br \/> ],<br \/> });<br \/> }<br \/> });<br \/>});<br \/>console.log(JSON.stringify(res));<br \/>&#8220;`<br \/>\u5199\u7684\u4e0d\u662f\u5f88\u597d\uff0c\u4f46\u662f\u5e94\u8be5\u53ef\u4ee5\u6ee1\u8db3\u4f60\u7684\u9700\u6c42 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986177\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lumotian <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> http:\/\/learnjsdata.com\/group_data.html <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986178\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : aitaii <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u53cb\u60c5\u63d0\u793a:\u53ef\u4ee5\u4f7f\u7528 gist \u8d34\u4ee3\u7801\uff0c\u8fd9\u6837\u4ee3\u7801\u683c\u5f0f\u4f1a\u4fdd\u7559\u3002 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986179\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lostpupil <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u8fd9\u540e\u7aef\u8fd4\u56de\u7684\u6570\u636e\u4e2d\u89c4\u4e2d\u77e9\uff0c\u8bf4\u4eba\u4e07\u6076\u8c08\u4e0d\u4e0a\u3002<br \/>\u90fd\u662f\u4f60\u5199\u7684\u4ee3\u7801\u5c5e\u5b9e\u662f\u8fa3\u9e21\u6ca1\u9519\u3002<br \/>\u4f60\u4e00\u4f1a\u513f each \u4e00\u4f1a\u513f reduce \u4e00\u4f1a\u513f push \u4f60\u5230\u5e95\u60f3\u8981 mute \u8fd8\u662f immute<br \/>\u4f60\u8fd9\u4e2a\u7528 lodash group map \u6539\u4e00\u4e0b\u7ed3\u6784\u5c31\u884c\u4e86\u3002 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986180\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : coderJie <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u6211\u5168\u6808\u5f00\u53d1\uff0c\u540e\u7aef\u8f6c\u6362\uff0c\u524d\u7aef\u8f6c\u6362\u6211\u90fd\u8bd5\u8fc7\uff0c\u5f00\u53d1\u4e0b\u6765\u6211\u89c9\u5f97\u524d\u7aef\u8f6c\u5316\u66f4\u5408\u7406\u3002<br \/>\u800c\u4e14\u540e\u7aef\u53ea\u662f\u4f20\u4e86\u4e2a\u6b63\u5e38\u7684\u6570\u636e\u56de\u6765\u600e\u4e48\u5c31\u53d8\u6210\u5c4e\u5c71\u4ee3\u7801\u4e86\uff1f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986181\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : molvqingtai <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u524d\u7aef\u8868\u793a\u8fd9\u4e0d\u662f\u5e38\u89c1\u7684\u9700\u6c42\u561b <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986182\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lostpupil <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> &#8220;`javascript<br \/>city[ele[name]] =<br \/>true &amp;&amp;<br \/>item.push({<br \/>&#8220;` <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986183\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lostpupil <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u662f\u4ec0\u4e48\u539f\u56e0\u8ba9\u4f60\u5199\u51fa\u4e86 true &amp;&amp; \u8fd9\u79cd\u5931\u4e86\u667a\u7684\u4ee3\u7801\uff1f\uff1f\uff1f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986184\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Leviathann <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @aitaii \u53d1\u8d34\u53ef\u4ee5\u9009 markdown \u6a21\u5f0f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986185\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : sweetcola <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u53e0 buff \u7684\u6765\u4e86\uff08\u4ec5\u4f9b\u5a31\u4e50\uff09<br \/>const data =[{&#8220;province&#8221;:&#8221;\u4e0a\u6d77\u5e02&#8221;,&#8221;city&#8221;:&#8221;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;,&#8221;adcode&#8221;:&#8221;310118&#8243;,&#8221;district&#8221;:&#8221;\u9752\u6d66\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u6c5f\u82cf&#8221;,&#8221;city&#8221;:&#8221;\u82cf\u5dde\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;320506&#8243;,&#8221;district&#8221;:&#8221;\u5434\u4e2d\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u5c71\u897f\u7701&#8221;,&#8221;city&#8221;:&#8221;\u9633\u6cc9\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;140302&#8243;,&#8221;district&#8221;:&#8221;\u57ce\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u4e0a\u6d77\u5e02&#8221;,&#8221;city&#8221;:&#8221;\u4e0a\u6d77\u5e02\u5e02\u8f96\u533a&#8221;,&#8221;adcode&#8221;:&#8221;310101&#8243;,&#8221;district&#8221;:&#8221;\u9ec4\u6d66\u533a&#8221;},<br \/>{&#8220;province&#8221;:&#8221;\u6cb3\u5317\u7701&#8221;,&#8221;city&#8221;:&#8221;\u77f3\u5bb6\u5e84\u5e02&#8221;,&#8221;adcode&#8221;:&#8221;130123&#8243;,&#8221;district&#8221;:&#8221;\u6b63\u5b9a\u53bf&#8221;}];<br \/>var obj = Object.keys(obj = data.reduce((t, c) =&gt; ({ &#8230;t, [c.province]: { &#8230;t[c.province], [c.city]: { &#8230;t[c.province]?.[c.city], [c.district]: c.adcode } } }), {})).map((v) =&gt; ({ name: v, children: Object.keys(obj[v]).map((v1) =&gt; ({name: v1, children: Object.keys(obj[v][v1]).map((v2) =&gt; ({ name: v2, value: obj[v][v1][v2]})) })) }));<br \/>console.log(obj); <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986186\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : darknoll <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @happyCodings \u4ed6\u4e0d\u6539\u4f60\u5e2e\u4ed6\u6539\u554a <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986187\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : cking <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u540e\u7aef\u8868\u793a \u6211\u4eec\u4e0d\u80cc\u8fd9\u9505 \u8fd9\u4e2a\u8fd4\u56de\u5df2\u7ecf\u7b97\u662f\u5f88\u597d\u7684\u683c\u5f0f\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986188\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : renmu123 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> lodash groupby\uff0c\u4f46\u5e94\u8be5\u53ea\u652f\u6301\u4e24\u7ea7\u3002 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986189\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : shuoshuxx <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u540e\u7aef\u89c9\u5f97\uff0c\u8fd9\u4e2a\u683c\u5f0f\u5c31\u662f\u6b63\u786e\u7684\uff0c\u540e\u7aef\u4e0d\u80cc\u9505 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986190\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : faqqcn <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u8fd9\u4e9b\u4e2a\u524d\u7aef\uff0c\u597d\u4e0d\u5bb9\u4ece\u5207\u56fe\u4ed4\u8131\u79bb\u4e86\uff0c\u53c8\u60f3\u56de\u5230\u5207\u56fe\u4ed4\u65e5\u5b50 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986191\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : learningman <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u50ac\u516c\u53f8\u4e0a GraphQL\uff0c\u60f3\u8981\u5565\u683c\u5f0f\u6709\u5565\u683c\u5f0f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986192\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : MoYi123 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u5c31\u8fd9\u6837\u8f6c\u4e00\u4e0b\u683c\u5f0f\u90fd\u6320\u7834\u8111\u888b\uff0c\u7528 graphql \u4e0d\u662f\u8981\u88ab\u6c14\u54ed <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986193\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Mitt <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u5c4e\u5c71\u4ee3\u7801\u6307\u7684\u662f\u81ea\u5df1\u5199\u7684\u4ee3\u7801\u4e48\uff1f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986194\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : leyviw <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u540e\u7aef\u5c31\u662f\u8fd4\u56de\u6807\u51c6\u7684\u683c\u5f0f\uff0c\u7ed9 N \u4e2a\u524d\u7aef N \u4e2a\u663e\u793a\u6548\u679c\u7528\uff0c\u5982\u679c\u9760\u540e\u7aef\u53bb\u517c\u5bb9\u524d\u7aef\uff0c\u90a3\u8fd8\u5f97\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986195\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : aircjm <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u55b7\u4eba\u5bb6\u540e\u7aef\u4ee3\u7801\u5c4e\u5c71 \u81ea\u5df1\u88ab\u55b7\u7684\u8001\u60e8\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986196\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : icylogic <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u770b\u4e86\u8fd9\u8d34\u6700\u5927\u7684\u611f\u53d7\uff1a @Livid \u80fd\u4e0d\u80fd\u6539\u5584\u4e00\u4e0b V2EX \u8bc4\u8bba\u8d34\u4ee3\u7801\u7684\u4f53\u9a8c\u2026\u2026 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986197\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : medivh <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u771f\u00b7\u524d\u7aef\u8bba\u575b <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986198\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : grewer <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u6211\u770b\u4e0a\u9762\u89c9\u5f97\u540e\u7aef\u6ca1\u95ee\u9898\u7684\u4e0d\u5c11\u554a, \u8fd9\u5c31\u524d\u7aef\u8bba\u575b\u4e86&#8230; <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986199\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : victor <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u5148\u7529\u9505\u7ed9\u540e\u7aef\uff0c\u518d\u6765\u4e2a\u7ea2\u5305\u9493\u9c7c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986200\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : fewok <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u5c31\u8fd9\uff0c\u4ec0\u4e48\u73a9\u610f <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986201\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ianva <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u601d\u8def\u5c31\u662f\u9519\u7684\uff0c\u4ee3\u7801\u5199\u7684\u518d\u597d\u4e5f\u662f\u5c4e\u5c71<br \/>\u63a5\u53e3\u548c \u7ec4\u4ef6 porps \u7684\u53d8\u5316\u600e\u4e48\u9694\u79bb\uff1f\u4e0d\u9694\u79bb\u63a5\u53e3\u4e00\u53d8\uff0c\u4f60\u4ee3\u7801\u4e5f\u8ddf\u7740\u53d8\uff1f\u7ec4\u4ef6\u6362\u4e86\u8fd9\u5957\u4ee3\u7801\u518d\u6765\u4e00\u904d\uff1f\u4e00\u4e2a\u9700\u6c42\u53d8\u5316\u5c31\u5f97\u91cd\u5199\u7684\u4e1c\u897f<br \/>\u53e6\u5916\u4e00\u4e2a map \u6570\u636e\u7684\u4ee3\u7801\u6709\u5565\u503c\u5f97\u4f18\u5316\u7684\uff0c\u660e\u786e\u8f93\u5165\u548c\u8f93\u51fa\u5c31\u5b8c\u4e86\uff0c\u4f60\u4ee3\u7801\u662f\u5c4e\uff0c\u522b\u4eba\u8981\u91cd\u6784\u53ea\u4e86\u89e3\u8f93\u5165\u548c\u8f93\u51fa\u4e0d\u770b\u4f60\u903b\u8f91\u5c31\u884c\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986202\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : opengps <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u602a\u4e0d\u5f97\u524d\u540e\u7aef\u4e92\u76f8\u5410\u69fd\uff0c\u8fd9\u5b8c\u5168\u662f\u5404\u81ea\u90fd\u80fd\u5904\u7406\u7684\uff0c\u9664\u975e\u8fd9\u4e2a\u63a5\u53e3\u662f\u552f\u4e00\u7528\u9014\u53ef\u4ee5\u540e\u7aef\u53bb\u4fee\u6539\uff0c\u5426\u5219\u5b81\u80af\u63d0\u4f9b\u591a\u4e2a\u4e5f\u4e0d\u5e94\u8be5\u4fee\u6539\u8f93\u51fa\u7ed3\u6784\uff0c\u56e0\u4e3a\u8fd9\u79cd\u6539\u6cd5\u4e0d\u7b26\u5408\u5f00\u95ed\u539f\u5219\uff0c\u662f\u4e2a\u65b0\u8001\u4e0d\u517c\u5bb9\u7684\u6539\u52a8\u3002\u524d\u7aef\u662f web \u8fd8\u597d\uff0c\u524d\u7aef\u5982\u679c\u662f app\uff0c\u5ba2\u6237\u4e0d\u5347\u7ea7\u505c\u7559\u5728\u8001\u7248\u672c\u5c82\u4e0d\u662f\u5fc5\u987b\u5f3a\u5236\u4e0b\u5347\u7ea7\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986203\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ianva <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @opengps web \u7aef\u53ef\u4ee5\u5728\u524d\u7aef\u5efa\u6a21\u9694\u79bb\u63a5\u53e3\u53d8\u5316\uff0c\u81f3\u4e8e\u5ba2\u6237\u7aef\u66f4\u65b0\u7684\u95ee\u9898\uff0c\u5728 BFF \u5efa\u6a21\u9694\u79bb\u63a5\u53e3\u53d8\u5316\uff0c\u5f53\u7136\u90fd\u8d70 GraphQL \u662f\u6700\u65b9\u4fbf\u7684 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986204\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : anguiao <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u8fd9\u5e16\u5b50\u6839\u672c\u4e0d\u60f3\u770b\uff0c\u4ee3\u7801\u53ef\u8bfb\u6027\u592a\u4f4e\u4e86 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986205\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : CokeMine <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> hhh \u968f\u4fbf\u5199\u4e86\u5199<br \/>https:\/\/paste.ubuntu.com\/p\/6vSmvVNgCT\/ <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986206\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ganning <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @HashV2 \u54c8\u54c8\u54c8\u54c8\uff0c\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986207\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : LinHoo <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> const convert = data =&gt; {<br \/> const options = []<br \/> const proviceMap = {}<br \/> data.forEach(item =&gt; {<br \/> \/\/ \u6ca1\u6709\u7701<br \/> if (!proviceMap[item.province]) {<br \/> proviceMap[item.province] = {<br \/> index: options.length,<br \/> citys: [item.city]<br \/> }<br \/> options.push({<br \/> value: item.province,<br \/> label: item.province,<br \/> children: [<br \/> {<br \/> value: item.city,<br \/> label: item.city,<br \/> children: [<br \/> {<br \/> value: item.adcode,<br \/> label: item.district,<br \/> }<br \/> ]<br \/> }<br \/> ]<br \/> })<br \/> return<br \/> }<br \/> const provinceIndex = proviceMap[item.province].index<br \/> const cityIndex = proviceMap[item.province].citys.indexOf(item.city)<br \/> \/\/ \u6ca1\u6709\u5e02<br \/> if (cityIndex === -1) {<br \/> options[provinceIndex].children.push({<br \/> value: item.city,<br \/> label: item.city,<br \/> children: [<br \/> {<br \/> value: item.adcode,<br \/> label: item.district,<br \/> }<br \/> ]<br \/> })<br \/> return<br \/> }<br \/> \/\/ \u6709\u7701\u6709\u5e02<br \/> options[provinceIndex].children[cityIndex].children.push({<br \/> value: item.adcode,<br \/> label: item.district,<br \/> })<br \/> })<br \/>} <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986208\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : DeWjjj <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u4e2a\u4eba\u8ba4\u4e3a\u8fd9\u4e2a\u540e\u7aef\u51fa\u7684\u7ed3\u6784\u4ee3\u7801\u6ca1\u95ee\u9898\uff0c\u81ea\u5df1\u89e3\u6790\u3002<br \/>\u8fd9\u5c42\u7ea7\u7b97\u5957\u7684\u4e0d\u9519\u7684\u4e86\u3002 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986209\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @coderJie \u5927\u4f6c\u6211\u8bf4\u6211\u5199\u7684\u662f \u53ef\u80fd\u8868\u8ff0\u4e0d\u6e05\u6670 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986210\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @meshell \u5927\u4f6c\u4eec\u7edf\u4e00\u56de\u590d\u4e00\u4e0b \u662f\u6211\u81ea\u5df1\u5199\u7684\u4ee3\u7801\u50cf\u5c4e\u5c71\uff0c\u7136\u540e\u60f3\u4f18\u5316\u4e00\u4e0b\uff0c\u5b9e\u529b\u539f\u56e0\u6765\u6c42\u52a9<br \/>ps\uff1a\u521a\u6bd5\u4e1a\u7684\u524d\u7aef\u5c0f\u7801\u519c<br \/>\u8c22\u8c22\u5927\u4f6c\u4eec <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986211\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @aguesuka \u8c22\u8c22\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986212\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @ccraohng \u8c22\u8c22\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986213\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @ryncv \u8c22\u8c22\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986214\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div>  @timedivision \u8c22\u8c22\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986215\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @CokeMine \u8c22\u8c22\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986216\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : happyCodings <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> @LinHoo \u8c22\u8c22\u5927\u4f6c <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986217\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : vueli <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div>  \u4e3a\u4ec0\u4e48\u4e0d\u5199\u5728\u3002&#8220;` &#8220;` \u91cc\u9762, \u770b\u7740\u597d\u96be\u53d7. \u53c8\u61d2\u4e0d\u60f3\u62ff\u8fc7\u6765\u8fd0\u884c\u683c\u5f0f\u5316 <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5986218\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Cy1 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>  <\/span> <\/div>\n<\/p><\/div>\n<div> \u540e\u7aef\u8fd9\u683c\u5f0f\u4e0d\u662f\u5f88\u5408\u7406\u4e48\uff0c\u771f\u5c31\u4ec0\u4e48\u6570\u636e\u90fd\u5904\u7406\u597d\uff0c\u524d\u7aef\u76f4\u63a5\u5957\u624d\u7b97\u5408\u7406\u4e48\uff1f <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>\u6c42\u5927\u4f6c\u4eec\u4f18\u5316\u4e00\u4e0b\u4ee3\u7801\uff0c\u5c4e\u5c71\u4ee3\u7801\u7ed9\u5b69&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/509359"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=509359"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/509359\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=509359"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=509359"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=509359"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}