{"id":1965,"date":"2024-11-10T12:35:20","date_gmt":"2024-11-10T04:35:20","guid":{"rendered":"https:\/\/fwq.ai\/blog\/1965\/"},"modified":"2024-11-10T12:35:20","modified_gmt":"2024-11-10T04:35:20","slug":"%e4%bb%a3%e7%90%86-javascript-%e6%8c%91%e6%88%98","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/1965\/","title":{"rendered":"\u4ee3\u7406 &#8211; JavaScript \u6311\u6218"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/001\/246\/273\/173062225597117.jpg\" class=\"aligncenter\" title=\"\u4ee3\u7406 &#8211; JavaScript \u6311\u6218\u63d2\u56fe\" alt=\"\u4ee3\u7406 &#8211; JavaScript \u6311\u6218\u63d2\u56fe\" \/><\/p>\n<p>\u60a8\u53ef\u4ee5\u5728 hub \u4ed3\u5e93\u4e2d\u627e\u5230\u8fd9\u7bc7\u6587\u7ae0\u4e2d\u7684\u6240\u6709\u4ee3\u7801\u3002<\/p>\n<hr>\n<h2> \u4ee3\u7406\u76f8\u5173\u7684\u6311\u6218 <\/h2>\n<hr>\n<h3> \u8bbf\u95ee\u8d1f\u7d22\u5f15 <\/h3>\n<pre>\/**\n * @param {Array} arr \n *\/\n\nfunction withNegativeIndex(arr) {\n  return new Proxy(arr, {\n    get(target, property, receiver) {\n      const index = Number(property);\n\n      if (index &lt; 0) {\n        property = target.length + index;\n      }\n\n      return Reflect.get(target, property, receiver);\n    }\n  });\n}\n\n\/\/ Usage example\nconst fruits = [\"apple\", \"banana\", \"orange\"];\nconst proxiedFruits = withNegativeIndex(fruits);\n\nconsole.log(proxiedFruits[-1]); \/\/ =&gt; 'orange'\nconsole.log(proxiedFruits[-2]); \/\/ =&gt; 'banana'\nconsole.log(proxiedFruits[-3]); \/\/ =&gt; 'apple'\nconsole.log(proxiedFruits[0]);  \/\/ =&gt; 'apple'\nconsole.log(proxiedFruits[1]);  \/\/ =&gt; 'banana'\nconsole.log(proxiedFruits[2]);  \/\/ =&gt; 'orange'\n<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<hr>\n<h2> \u53c2\u8003 <\/h2>\n<ul>\n<li>\u4ee3\u7406 &#8211; mdn<\/li>\n<\/ul>\n<p>\u4ee5\u4e0a\u5c31\u662f\u4ee3\u7406 &#8211; JavaScript \u6311\u6218\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u60a8\u53ef\u4ee5\u5728 hub \u4ed3\u5e93\u4e2d\u627e\u5230\u8fd9\u7bc7\u6587\u7ae0\u4e2d\u7684\u6240\u6709\u4ee3\u7801\u3002 \u4ee3\u7406\u76f8\u5173\u7684\u6311\u6218 \u8bbf\u95ee\u8d1f\u7d22\u5f15 \/** * @param {Array} arr *\/ function withNegativeIndex(arr) { return new Proxy(arr, { get(target, property, receiver) { const index = Number(property); if (index &lt; 0) { property = target.length + index; } return Reflect.get(target, property, receiver); } }); } \/\/ Usage example const fruits = [&#8220;apple&#8221;, &#8220;banana&#8221;, &#8220;orange&#8221;]; const proxiedFruits [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-1965","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/1965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=1965"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/1965\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=1965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=1965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=1965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}