{"id":1920,"date":"2023-03-25T14:26:38","date_gmt":"2023-03-25T06:26:38","guid":{"rendered":""},"modified":"2023-03-25T14:26:38","modified_gmt":"2023-03-25T06:26:38","slug":"ES6 Set","status":"publish","type":"post","link":"https:\/\/bianchenghao6.com\/1920.html","title":{"rendered":"ES6 Set"},"content":{"rendered":"
\n
var <\/span>s = new <\/span>Set(\"val1\"<\/span>,\"val2\"<\/span>,\"val3\"<\/span>);<\/pre>\n<\/code>\n <\/div>\n
\n \u8ba9\u6211\u4eec\u901a\u8fc7\u4e0b\u9762\u7684\u4f8b\u5b50\u6765\u7406\u89e3set\u7684\u6982\u5ff5:\n <\/div>\n\u4f8b\u5b50<\/h3>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\nconsole.log<\/span>(colors);<\/pre>\n<\/code>\n <\/div>\n
\n \u96c6\u5408\u7684\u6240\u6709\u5143\u7d20\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002\u56e0\u6b64\uff0c\u4e0a\u9762\u4f8b\u5b50\u4e2d\u7684 colors \u96c6\u5408\u53ea\u5305\u542b\u56db\u4e2a\u4e0d\u540c\u7684\u5143\u7d20\u3002\u6210\u529f\u6267\u884c\u4e0a\u8ff0\u4ee3\u7801\u540e\uff0c\u6211\u4eec\u5c06\u5f97\u5230\u4ee5\u4e0b\u8f93\u51fa\u3002\n <\/div>\n\n \u8f93\u51fa\n <\/div>\n\nSet { 'Green'<\/span>, 'Red'<\/span>, 'Orange'<\/span>, 'Yellow'<\/span> }<\/pre>\n<\/code>\n <\/div>\n
\n \u8ba9\u6211\u4eec\u770b\u770bSet\u7684\u5c5e\u6027\u548c\u65b9\u6cd5\n <\/div>\nSet Properties<\/h2>\n
\n\n\n\u5c5e\u6027<\/td>\n \u8bf4\u660e<\/td>\n<\/tr>\n \nSet.size<\/td>\n \u6b64\u5c5e\u6027\u8fd4\u56de\u8bbe\u7f6e\u5bf9\u8c61\u4e2d\u7684\u503c\u6570\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\nSet.size<\/h3>\n\n Set \u5bf9\u8c61\u7684\u8fd9\u4e2a\u5c5e\u6027\u8fd4\u56de\u8868\u793a Set \u5bf9\u8c61\u4e2d\u5143\u7d20\u6570\u91cf\u7684\u503c\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\nconsole.log<\/span>(colors.size);\nconsole.log<\/span>(colors);<\/pre>\n<\/code>\n <\/div>\n
\n \u8f93\u51fa\n <\/div>\n\n4\nSet { 'Green'<\/span>, 'Red'<\/span>, 'Orange'<\/span>, 'Yellow'<\/span> }<\/pre>\n<\/code>\n <\/div>\n
Set Methods<\/h2>\n\n set \u5bf9\u8c61\u5305\u62ec\u51e0\u4e2a\u65b9\u6cd5\uff0c\u5217\u8868\u5982\u4e0b:\n <\/div>\n\n\n\n\u65b9\u6cd5<\/td>\n \u8bf4\u660e<\/td>\n<\/tr>\n \nSet.prototype.add(value)<\/td>\n \u5b83\u5c06\u4e00\u4e2a\u65b0\u5143\u7d20\u9644\u52a0\u5230 set \u5bf9\u8c61\u7684\u7ed9\u5b9a\u503c\u4e0a\u3002<\/td>\n<\/tr>\n \nSet.prototype.clear()<\/td>\n \u5b83\u4ece\u96c6\u5408\u5bf9\u8c61\u4e2d\u5220\u9664\u6240\u6709\u5143\u7d20\u3002<\/td>\n<\/tr>\n \nSet.prototype.delete(value)<\/td>\n \u5b83\u5220\u9664\u4e0e\u76f8\u5e94\u503c\u5173\u8054\u7684\u5143\u7d20\u3002<\/td>\n<\/tr>\n \nSet.prototype.entries()<\/td>\n \u5b83\u8fd4\u56de\u4e00\u4e2a\u65b0\u7684\u8fed\u4ee3\u5668\u5bf9\u8c61\uff0c\u8be5\u5bf9\u8c61\u5305\u542b\u4e00\u4e2a\u6309\u63d2\u5165\u987a\u5e8f\u6392\u5217\u7684Set\u5bf9\u8c61\u4e2d\u6bcf\u4e2a\u5143\u7d20\u7684\u6570\u7ec4\u3002<\/td>\n<\/tr>\n \nSet.prototype.forEach(callbackFn[, thisArg])<\/td>\n \u5b83\u6267\u884c\u4e00\u6b21\u56de\u8c03\u51fd\u6570\u3002<\/td>\n<\/tr>\n \nSet.prototype.has(value)<\/td>\n \u5f53\u4f20\u9012\u7684\u503c\u5728 Set \u4e2d\u65f6\uff0c\u6b64\u65b9\u6cd5\u8fd4\u56de true\u3002 <\/td>\n<\/tr>\n \nSet.prototype.values()<\/td>\n \u5b83\u8fd4\u56de\u65b0\u7684\u8fed\u4ee3\u5668\u5bf9\u8c61\uff0c\u8be5\u5bf9\u8c61\u5305\u542b Set \u4e2d\u6bcf\u4e2a\u5143\u7d20\u7684\u503c\uff0c\u6309\u63d2\u5165\u987a\u5e8f\u6392\u5217\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n \u73b0\u5728\uff0c\u6211\u4eec\u5c06\u8be6\u7ec6\u4e86\u89e3Set\u5bf9\u8c61\u7684\u4e0a\u8ff0\u65b9\u6cd5\u3002\n <\/div>\nSet.prototype.add(value)<\/h3>\n\n \u6b64\u65b9\u6cd5\u7528\u4e8e\u5c06\u5177\u6709\u73b0\u6709\u503c\u7684\u65b0\u5143\u7d20\u9644\u52a0\u5230 Set \u5bf9\u8c61\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\ncolors.add<\/span>('Violet'<\/span><\/span>);\ncolors.add<\/span>('Indigo'<\/span>);\ncolors.add<\/span>('Blue'<\/span>);\ncolors.add<\/span>('Violet');\nconsole.log<\/span>(colors.size);\nconsole.log<\/span>(colors);<\/pre>\n<\/code>\n <\/div>\n
\n \u8f93\u51fa\n <\/div>\n\n7\nSet { 'Green'<\/span>, 'Red'<\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Violet'<\/span>, 'Indigo'<\/span>, 'Blue'<\/span> }<\/pre>\n<\/code>\n <\/div>\n
Set.prototype.clear()<\/h3>\n\n \u5b83\u6e05\u9664\u96c6\u5408\u4e2d\u7684\u6240\u6709\u5bf9\u8c61\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\ncolors.add<\/span>('Violet'<\/span><\/span>);\ncolors.add<\/span>('Indigo'<\/span>);\ncolors.add<\/span>('Blue'<\/span>);\ncolors.add<\/span>('Violet');\ncolors.clear<\/span>()\nconsole.log<\/span>(colors.size);<\/pre>\n<\/code>\n <\/div>\n
\n \u8f93\u51fa\n <\/div>\n\n0<\/pre>\n<\/code>\n <\/div>\n
Set.prototype.delete(value)<\/h3>\n\n \u8be5\u65b9\u6cd5\u7528\u4e8e\u4eceset\u5bf9\u8c61\u4e2d\u79fb\u9664\u5bf9\u5e94\u7684\u4f20\u5165\u503c\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\ncolors.add<\/span>('Violet'<\/span><\/span><\/span>);\ncolors.add<\/span>('Indigo'<\/span>);\ncolors.add<\/span>('Blue'<\/span>);\ncolors.add<\/span>('Violet');\ncolors.delete<\/span>('Violet');\nconsole.log<\/span>(colors.size);\nconsole.log<\/span>(colors);<\/pre>\n<\/code>\n <\/div>\n
\n \u8f93\u51fa\n <\/div>\n\n6\nSet { 'Green'<\/span>, 'Red'<\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Indigo'<\/span>, 'Blue'<\/span> }<\/pre>\n<\/code>\n <\/div>\n
Set.prototype.entries()<\/h3>\n\n \u5b83\u8fd4\u56de\u4e00\u4e2a\u65b0\u7684\u96c6\u5408\u8fed\u4ee3\u5668\u7684\u5bf9\u8c61\u3002\u5b83\u5305\u542b\u6bcf\u4e2a\u5143\u7d20\u7684\u503c\u6570\u7ec4\u3002\u5b83\u7ef4\u62a4\u63d2\u5165\u987a\u5e8f\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\ncolors.add<\/span>('Violet'<\/span><\/span>);\ncolors.add<\/span>('Indigo'<\/span>);\ncolors.add<\/span>('Blue'<\/span>);\ncolors.add<\/span>('Violet');\nvar <\/span>itr = colors.entries<\/span>();\nfor(i=0;i<colors.size;i++) {\n console.log<\/span>(itr.next<\/span>().value); \n}<\/pre>\n<\/code>\n <\/div>\n
\n \u8f93\u51fa\n <\/div>\n\n[ 'Green'<\/span><\/span>, 'Green' ]\n[ 'Red'<\/span><\/span>, 'Red' ]\n[ 'Orange'<\/span><\/span>, 'Orange' ]\n[ 'Yellow'<\/span><\/span>, 'Yellow' ]\n[ 'Violet'<\/span><\/span>, 'Violet' ]\n[ 'Indigo'<\/span><\/span>, 'Indigo' ]\n[ 'Blue'<\/span><\/span>, 'Blue' ]<\/pre>\n<\/code>\n <\/div>\n
Set.prototype.forEach(callbackFn[, thisArg])<\/h3>\n\n \u5b83\u4e3a\u6bcf\u4e2aMap\u6761\u76ee\u6267\u884c\u4e00\u6b21\u6307\u5b9a\u7684\u56de\u8c03\u51fd\u6570\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>, 'Red'<\/span><\/span>, 'Orange'<\/span>, 'Yellow'<\/span>, 'Red']);\ncolors.add<\/span>('Violet'<\/span><\/span>);\ncolors.add<\/span>('Indigo'<\/span>);\ncolors.add<\/span>('Blue'<\/span>);\ncolors.add<\/span>('Violet');\nfunction details(values){\n console.log<\/span>(values);\n}\ncolors.forEach<\/span>(details);<\/pre>\n<\/code>\n <\/div>\n
\n \u8f93\u51fa\n <\/div>\n\nGreen\nRed\nOrange\nYellow\nViolet\nIndigo\nBlue<\/pre>\n<\/code>\n <\/div>\n
Set.prototype.has(value)<\/h3>\n\n \u5b83\u8fd4\u56de\u5e03\u5c14\u503c\uff0c\u8be5\u503c\u6307\u793a\u8be5\u5143\u7d20\u4ee5\u53ca\u76f8\u5e94\u7684\u503c\u662f\u5426\u5b58\u5728\u4e8e Set \u5bf9\u8c61\u4e2d\u3002\n <\/div>\n\n \u793a\u4f8b\n <\/div>\n\nlet colors = new <\/span>Set(['Green'<\/span>,