{"id":209,"date":"2020-10-15T18:03:16","date_gmt":"2020-10-15T10:03:16","guid":{"rendered":"http:\/\/zhuxinyong.com\/?p=209"},"modified":"2021-01-18T20:11:17","modified_gmt":"2021-01-18T12:11:17","slug":"%e6%95%b0%e7%bb%84%e5%af%b9%e8%b1%a1%e8%bd%ac%e4%b8%bamap","status":"publish","type":"post","link":"https:\/\/zhuxinyong.com\/?p=209","title":{"rendered":"\u6570\u7ec4\u5bf9\u8c61\u8f6c\u4e3aMap"},"content":{"rendered":"\n<p>\u6570\u636e\u7c7b\u578b\u7684\u8f6c\u6362\u5728\u4e1a\u52a1\u4ee3\u7801\u4e2d\u80af\u5b9a\u5f88\u5e38\u89c1\uff0c\u56e0\u4e3a\u4e0d\u540c\u7684\u6570\u636e\u7ed3\u6784\u4f7f\u7528\u4e0d\u540c\u7684\u60c5\u51b5\u3002\u6bd4\u5982\u6570\u7ec4\u9002\u5408\u4e0b\u6807\u5feb\u901f\u68c0\u7d22\uff0c\u5bf9\u8c61\u9002\u5408\u6839\u636e\u952e\u5feb\u901f\u68c0\u7d22\u3002<\/p>\n\n\n\n<p>\u4e3e\u4e2a\u4f8b\u5b50\uff1a\u4e00\u4e2a\u4e0b\u62c9\u9009\u62e9\u6846<\/p>\n\n\n\n<p>\u6570\u636e\u7ed3\u6784\uff1aarrApps<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[\n    {\n      'appId': 'test-app',\n      'name': 'test-app',\n      'remarks': null,\n      'roles': [\n        'ADMIN',\n        'DEVELOPER',\n      ],\n    },\n    {\n      'appId': 'test2-app',\n      'name': 'test2-app',\n      'remarks': null,\n      'roles': [\n        'ADMIN',\n        'DEVELOPER',\n      ],\n    },\n]<\/pre>\n\n\n\n<p>\u4e1a\u52a1\u4ee3\u7801\u4e2d\u8fd8\u6709\u4e00\u4e2a currentApp \u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n    'appId': 'test-app',\n    'name': 'test-app',\n    'remarks': null,\n    'roles': [\n      'ADMIN',\n      'DEVELOPER',\n    ],\n}<\/pre>\n\n\n\n<p>\u6bcf\u6b21\u5207\u6362\u4e0b\u62c9\u6846\u7684\u65f6\u5019\uff0c\u9700\u8981\u66f4\u6539 currentApp \u7684\u503c\u3002<\/p>\n\n\n\n<p>\u66b4\u529b\u65b9\u6cd5\u5c31\u662f\u6bcf\u6b21\u6839\u636e\u4e0b\u62c9\u6846\u7684\u503c\uff0c\u5faa\u73af\u904d\u5386\u6570\u636e\u7136\u540e\u5bf9\u6bd4\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">val\uff1a\u4e0b\u62c9\u6846\u9009\u62e9\u7684\u503c\nfor(arr){\n   if(val == arr[i].name){\n       currentApp = arr[i]\n       break\n   }\n}<\/pre>\n\n\n\n<p>\u8fd9\u6837\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u4e3aO(n)\uff0c\u7a7a\u95f4\u590d\u6742\u5ea6 O(1)\u3002<\/p>\n\n\n\n<p>\u90a3\u80fd\u4e0d\u80fd\u628a\u65f6\u95f4\u590d\u6742\u5ea6\u964d\u5230O(1)\uff0c\u5f53\u7136\u6709\u55bd\uff01<\/p>\n\n\n\n<p>\u90a3\u5c31\u662f\u5148\u628a arrApps \u8f6c\u4e3a\u4e00\u4e2a\u4ee5 name \u4e3a key \u7684 Map \u7ed3\u6784 mapApps\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n   'test-app'=>{name:'test-app',remarks:null},\n   'test2-app'=>{name:'test2-app',remarks:null},\n}<\/pre>\n\n\n\n<p>\u90a3\u68c0\u7d22\u7684\u65f6\u5019\u5c31\u5f88\u5feb\u5566\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">val\uff1a\u4e0b\u62c9\u6846\u9009\u62e9\u7684\u503c\ncurrentApp = mapApps.get(val)<\/pre>\n\n\n\n<p>\u5982\u4f55\u8f6c\u6362\u5462\uff1f<\/p>\n\n\n\n<p>Map \u8bed\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">new Map([iterable])\n\nlet myMap = new Map([\n  [1, 'one'],\n  [2, 'two'],\n  [3, 'three'],\n])<\/pre>\n\n\n\n<p>\u6211\u4eec\u5148\u628a arrApps \u8f6c\u4e3a\u4e8c\u7ef4\u6570\u7ec4\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">arrApps.map(item=>[item.name,item])<\/pre>\n\n\n\n<p>\u5168\u90e8\u4ee3\u7801\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mapApps = new Map(arrApps.map(item=>[item.name,item]))<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6570\u636e\u7c7b\u578b\u7684\u8f6c\u6362\u5728\u4e1a\u52a1\u4ee3\u7801\u4e2d\u80af\u5b9a\u5f88\u5e38\u89c1\uff0c\u56e0\u4e3a\u4e0d\u540c\u7684\u6570\u636e\u7ed3\u6784\u4f7f\u7528\u4e0d\u540c\u7684\u60c5\u51b5\u3002\u6bd4\u5982\u6570\u7ec4\u9002\u5408\u4e0b\u6807\u5feb\u901f\u68c0\u7d22\uff0c\u5bf9&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,20,3],"tags":[6],"class_list":["post-209","post","type-post","status-publish","format-standard","hentry","category-all","category-frontend","category-tech","tag-javascript"],"_links":{"self":[{"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=\/wp\/v2\/posts\/209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=209"}],"version-history":[{"count":4,"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=\/wp\/v2\/posts\/209\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=\/wp\/v2\/posts\/209\/revisions\/257"}],"wp:attachment":[{"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zhuxinyong.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}