-
Notifications
You must be signed in to change notification settings - Fork 0
/
346b1f76.bc2890f8.js
1 lines (1 loc) · 34.7 KB
/
346b1f76.bc2890f8.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{157:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return b})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return i})),t.d(n,"default",(function(){return p}));var a=t(3),r=t(7),l=(t(0),t(482)),c=t(489),u=t(490),b={title:"2. \ud568\uc218\ud615\uc73c\ub85c \uc804\ud658\ud558\uae30"},s={unversionedId:"javascript/functional_programming/2_\ud568\uc218\ud615\uc73c\ub85c_\uc804\ud658\ud558\uae30",id:"javascript/functional_programming/2_\ud568\uc218\ud615\uc73c\ub85c_\uc804\ud658\ud558\uae30",isDocsHomePage:!1,title:"2. \ud568\uc218\ud615\uc73c\ub85c \uc804\ud658\ud558\uae30",description:"`javascript",source:"@site/docs/javascript/functional_programming/2_\ud568\uc218\ud615\uc73c\ub85c_\uc804\ud658\ud558\uae30.mdx",slug:"/javascript/functional_programming/2_\ud568\uc218\ud615\uc73c\ub85c_\uc804\ud658\ud558\uae30",permalink:"/docs/javascript/functional_programming/2_\ud568\uc218\ud615\uc73c\ub85c_\uc804\ud658\ud558\uae30",version:"current",lastUpdatedAt:1632642016,sidebar:"javascript",previous:{title:"1. \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uac1c\uc694",permalink:"/docs/javascript/functional_programming/1_\ud568\uc218\ud615_\ud504\ub85c\uadf8\ub798\ubc0d_\uac1c\uc694"},next:{title:"3. \uceec\ub809\uc158 \uc911\uc2ec \ud504\ub85c\uadf8\ub798\ubc0d",permalink:"/docs/javascript/functional_programming/3_\uceec\ub809\uc158_\uc911\uc2ec_\ud504\ub85c\uadf8\ub798\ubc0d"}},i=[{value:"\uba85\ub839\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \ubcf4\ub2e4 \uc120\uc5b8\uc801 \ud504\ub85c\uadf8\ub798\ubc0d",id:"\uba85\ub839\ud615-\ud504\ub85c\uadf8\ub798\ubc0d-\ubcf4\ub2e4-\uc120\uc5b8\uc801-\ud504\ub85c\uadf8\ub798\ubc0d",children:[{value:"\uba85\ub839\ud615 \ucf54\ub4dc",id:"\uba85\ub839\ud615-\ucf54\ub4dc",children:[]},{value:"_filter, _map \uc73c\ub85c \ub9ac\ud329\ud1a0\ub9c1",id:"_filter-_map-\uc73c\ub85c-\ub9ac\ud329\ud1a0\ub9c1",children:[]},{value:"each",id:"each",children:[]}]},{value:"\ub2e4\ud615\uc131",id:"\ub2e4\ud615\uc131",children:[{value:"\uc678\ubd80 \ub2e4\ud615\uc131",id:"\uc678\ubd80-\ub2e4\ud615\uc131",children:[]},{value:"\ub0b4\ubd80 \ub2e4\ud615\uc131",id:"\ub0b4\ubd80-\ub2e4\ud615\uc131",children:[]}]},{value:"\ucee4\ub9c1 curry, curryr",id:"\ucee4\ub9c1-curry-curryr",children:[{value:"curry",id:"curry",children:[]},{value:"_curryr",id:"_curryr",children:[]},{value:"_get",id:"_get",children:[]},{value:"_reduce",id:"_reduce",children:[]}]},{value:"\ud30c\uc774\ud504\ub77c\uc778 _pipe, _go, \ud654\uc0b4\ud45c \ud568\uc218",id:"\ud30c\uc774\ud504\ub77c\uc778-_pipe-_go-\ud654\uc0b4\ud45c-\ud568\uc218",children:[]},{value:"\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d",id:"\ud568\uc218\ud615-\ud504\ub85c\uadf8\ub798\ubc0d",children:[]},{value:"\uace0\ucc28\ud568\uc218",id:"\uace0\ucc28\ud568\uc218",children:[]},{value:"\ub2e4\ud615\uc131 \ub192\uc774\uae30, _keys, \uc5d0\ub7ec",id:"\ub2e4\ud615\uc131-\ub192\uc774\uae30-_keys-\uc5d0\ub7ec",children:[{value:"<code>_each</code> \uc758 \uc678\ubd80 \ub2e4\ud615\uc131 \ub192\uc774\uae30",id:"_each-\uc758-\uc678\ubd80-\ub2e4\ud615\uc131-\ub192\uc774\uae30",children:[]}]}],o={toc:i};function p(e){var n=e.components,t=Object(r.a)(e,["components"]);return Object(l.b)("wrapper",Object(a.a)({},o,t,{components:n,mdxType:"MDXLayout"}),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"var user = [\n { id: 1, name: 'ID', age: 36 },\n { id: 2, name: 'BJ', age: 32 },\n { id: 3, name: 'JM', age: 32 },\n { id: 4, name: 'PJ', age: 27 },\n { id: 5, name: 'HA', age: 25 },\n { id: 6, name: 'JE', age: 26 },\n { id: 7, name: 'JI', age: 31 },\n { id: 8, name: 'MP', age: 23 },\n]\n")),Object(l.b)("h2",{id:"\uba85\ub839\ud615-\ud504\ub85c\uadf8\ub798\ubc0d-\ubcf4\ub2e4-\uc120\uc5b8\uc801-\ud504\ub85c\uadf8\ub798\ubc0d"},"\uba85\ub839\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \ubcf4\ub2e4 \uc120\uc5b8\uc801 \ud504\ub85c\uadf8\ub798\ubc0d"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\ucf54\ub4dc\uac00 \uac04\uacb0"),Object(l.b)("li",{parentName:"ul"},"\uc624\ub958\uc640 \uc2e4\uc218 \uac10\uc18c"),Object(l.b)("li",{parentName:"ul"},"\uc815\ud655\ud558\uac8c \ucf54\ub529\ud588\ub2e4\ub294 \ud655\uc2e0\uc744 \ub290\ub07c\uae30 \uc27d\ub2e4.")),Object(l.b)("h3",{id:"\uba85\ub839\ud615-\ucf54\ub4dc"},"\uba85\ub839\ud615 \ucf54\ub4dc"),Object(l.b)("ol",null,Object(l.b)("li",{parentName:"ol"},"30 \uc138 \uc774\uc0c1\uc778 users \ub97c \uac70\ub978\ub2e4.")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const temp_users = [];\nfor (let i = 0; i < users.length; i++) {\n if (users[i].age >= 30) {\n temp_users.push(users[i]);\n }\n}\nconsole.log(temp_users);\n")),Object(l.b)("ol",{start:2},Object(l.b)("li",{parentName:"ol"},"30\uc138 \uc774\uc0c1\uc778 users\uc758 names\ub97c \uc218\uc9d1\ud55c\ub2e4.")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const names = [];\nfor (let i = 0; i < temp_users.length; i++) {\n names.push(temp_users[i].name);\n}\nconsole.log(names);\n")),Object(l.b)("ol",{start:3},Object(l.b)("li",{parentName:"ol"},"30\uc138 \ubbf8\ub9cc\uc778 users\ub97c \uac70\ub978\ub2e4.")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const temp_users = [];\nfor (let i = 0; i < users.length; i++) {\n if (users[i].age < 30) {\n temp_users.push(users[i]);\n }\n}\nconsole.log(temp_users);\n")),Object(l.b)("ol",{start:4},Object(l.b)("li",{parentName:"ol"},"30\uc138 \ubbf8\ub9cc\uc778 users\uc758 ages\ub97c \uc218\uc9d1\ud55c\ub2e4.")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const ages = [];\nfor (let i = 0; i < temp_users.length; i++) {\n ages.push(temp_users[i].age);\n}\nconsole.log(ages);\n")),Object(l.b)("h3",{id:"_filter-_map-\uc73c\ub85c-\ub9ac\ud329\ud1a0\ub9c1"},"_filter, _map \uc73c\ub85c \ub9ac\ud329\ud1a0\ub9c1"),Object(l.b)("p",null,"\uba85\ub839\ud615 \ucf54\ub4dc 1\ubc88\uacfc 3\ubc88\uc758 \uc911\ubcf5\uc744 \uc81c\uac70\ud574 \ubcf4\uc790."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _filter(users, predi) {\n const new_list = [];\n for (let i = 0; i < users.length; i++) {\n // \uc5b4\ub5a4 \uc870\uac74\uc77c \ub54c filter \ub97c \ud560 \uac83\uc778\uac00\ub97c predi \ub77c\ub294 \ud568\uc218\uc5d0 \uc644\uc804\ud788 \uc704\uc784\ud55c\ub2e4.\n if (predi(users[i])) {\n new_list.push(users[i]);\n }\n }\n return new_list;\n}\nconsole.log(\n _filter(users, function(user) { return user.age >= 30 }),\n _filter(users, function(user) { return user.age < 30; }),\n);\n")),Object(l.b)("p",null,"users \ub9d0\uace0\ub3c4 \uaddc\uaca9\uc744 \ub9de\ucd98\ub2e4\uba74 \ub2e4\ub978 \uac1d\uccb4\ub97c \uc0ac\uc6a9\ud560 \uc218 \ub3c4 \uc788\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"console.log(\n _filter([1, 2, 3, 4], function(num) { return num % 2; }),\n)\n")),Object(l.b)("p",null,"\uc774\uc81c users \ub97c list \ub85c \uc77c\ubc18\ud654 \uc2dc\ucf1c\ubcf4\uc790."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _filter(list, predi) {\n const new_list = [];\n for (let i = 0; i < list.length; i++) {\n // \uc5b4\ub5a4 \uc870\uac74\uc77c \ub54c filter \ub97c \ud560 \uac83\uc778\uac00\ub97c predi \ub77c\ub294 \ud568\uc218\uc5d0 \uc644\uc804\ud788 \uc704\uc784\ud55c\ub2e4.\n if (predi(list[i])) {\n new_list.push(list[i]);\n }\n }\n return new_list;\n}\n")),Object(l.b)("p",null,"\uba85\ub839\ud615 \ucf54\ub4dc 2 \uc640 4 \uc758 \uc911\ubcf5\uc744 \uc81c\uac70\ud574 \ubcf4\uc790."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _map(list, mapper) {\n const new_list = [];\n for (let i = 0; i < list.length; i++) {\n new_list.push(mapper(list[i]));\n }\n return new_list;\n}\n")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const over_30 = _filter(users, function(user) { return user.age >= 30 });\nconst names = _map(over_30, function(user) {\n return user.name;\n});\n\nconst under_30 = _filter(users, function(user) { return user.age < 30 });\nconst ages = _map(over_30, function(user) {\n return user.age;\n});\n_map([1, 2, 3], function(num) { return num * 2 });\n")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"console.log(\n _map(\n _filter(users, function(user) { return user.age >= 30; }),\n function(user) { return user.name; }));\n\nconsole.log(\n _map(\n _filter(users, function(user) { return user.age < 30; }),\n function(user) { return user.age; }));\n")),Object(l.b)("h3",{id:"each"},"each"),Object(l.b)("p",null,"filter \uc640 map \uc758 \uc911\ubcf5\uc744 \uc81c\uac70\ud558\uc790"),Object(l.b)("ol",null,Object(l.b)("li",{parentName:"ol"},"for loop"),Object(l.b)("li",{parentName:"ol"},"list","[i]")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _each(list, iter) {\n for (let i = 0; i < list.length; i++) {\n iter(list[i]);\n }\n return list;\n}\n")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _filter(list, predi) {\n const new_list = [];\n _each(list, function(val) {\n if (predi(val)) new_list.push(val);\n });\n return new_list;\n}\n")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _map(list, mapper) {\n const new_list = [];\n _each(list, function(val) {\n new_list.push(mapper(val));\n });\n return new_list;\n}\n")),Object(l.b)("h2",{id:"\ub2e4\ud615\uc131"},"\ub2e4\ud615\uc131"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"map, each, filter \ub294 \ud568\uc218\uac00 \uc544\ub2cc \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 array.prototype \uc758 \uba54\uc11c\ub4dc \uc774\ub2e4."),Object(l.b)("ul",{parentName:"li"},Object(l.b)("li",{parentName:"ul"},"\uc774\uac83\uc740 \uc21c\uc218\ud568\uc218\uac00 \uc544\ub2c8\uba70, \uac1d\uccb4\uc758 \uc0c1\ud0dc\uc5d0 \ub530\ub77c \uacb0\uacfc\uac00 \ub2ec\ub77c\uc9c4\ub2e4."),Object(l.b)("li",{parentName:"ul"},"\uba54\uc11c\ub4dc\ub294 \uac1d\uccb4\uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc774\ub2e4."),Object(l.b)("li",{parentName:"ul"},"\uba54\uc11c\ub4dc\ub294 \ud574\ub2f9 \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc5d0\uc11c\ub9cc \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4."),Object(l.b)("li",{parentName:"ul"},"array \uac00 \uc544\ub2c8\uba74 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4"),Object(l.b)("li",{parentName:"ul"},"\ub2e4\ud615\uc131\uc744 \uc9c0\uc6d0\ud558\uae30\uac00 \uc5b4\ub835\ub2e4."))),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"array like \uac1d\uccb4"),Object(l.b)("ul",{parentName:"li"},Object(l.b)("li",{parentName:"ul"},"javascript \uc5d0 array \uac00 \uc544\ub2cc\ub370 array \uac19\uc774 \uc5ec\uaca8\uc9c0\ub294 \uac1d\uccb4\ub4e4"),Object(l.b)("li",{parentName:"ul"},"jquery \uac1d\uccb4"),Object(l.b)("li",{parentName:"ul"},"document.querySelectorAll('body');"),Object(l.b)("li",{parentName:"ul"},"document.querySelectorAll('*');",Object(l.b)("ul",{parentName:"li"},Object(l.b)("li",{parentName:"ul"},"\ubc30\uc5f4\uc774 \uc544\ub2cc NodeList."))))),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \ub192\uc740 \ub2e4\ud615\uc131"),Object(l.b)("ul",{parentName:"li"},Object(l.b)("li",{parentName:"ul"},"\uadf8\ub9ac\uace0 \uc6b0\ub9ac\uac00 \ub9cc\ub4e0 map \ud568\uc218\ub97c \uc0ac\uc6a9\ud55c\ub2e4\uba74 array like \ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4."),Object(l.b)("li",{parentName:"ul"},"length / key:value \ud615\ud0dc\ub9cc \ub9cc\uc871\ud558\uba74 \ub41c\ub2e4.")))),Object(l.b)("h3",{id:"\uc678\ubd80-\ub2e4\ud615\uc131"},"\uc678\ubd80 \ub2e4\ud615\uc131"),Object(l.b)("p",null,Object(l.b)("inlineCode",{parentName:"p"},"array_like, arguments, document.querySelectorAll"),"\n\uc740 map \uc774\ub098 filter \uac00 \ub2f4\ub2f9"),Object(l.b)("h3",{id:"\ub0b4\ubd80-\ub2e4\ud615\uc131"},"\ub0b4\ubd80 \ub2e4\ud615\uc131"),Object(l.b)("p",null,"\uc6b0\ub9ac\uac00 \ub9cc\ub4e0 ",Object(l.b)("inlineCode",{parentName:"p"},"predi, iter, mapper"),"\n\uc740 \ubc30\uc5f4\uc548\uc5d0 \uc5b4\ub5a4 \uac12\uc774\ub4e0 \ub4e4\uc5b4\uc788\uc5b4\ub3c4 \ubb34\uc5b8\uac00\ub97c \uc218\ud589\ud560 \uc218 \uc788\uac8c \ub9cc\ub4dc\ub294 \uc5ed\ud560\uc744 \ud558\ub294 \ubcf4\uc870 \ud568\uc218"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"_map([1, 2, 3, 4], function(v) {\n return v + 10;\n})\n")),Object(l.b)("p",null,"\ud568\uc218\uc758 \ub450\ubc88\uc9f8 \uc778\uc790\ub97c \ubcf4\ud1b5 callback \ud568\uc218\ub77c\uace0 \ubd80\ub974\ub294\ub370, \uc0ac\uc2e4 \uc5ed\ud560\uc5d0 \ub530\ub77c\uc11c \ubd80\ub974\ub294 \uc774\ub984\uc774 \ub2ec\ub77c\uc9c4\ub2e4."),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"callback \ud568\uc218: \uc5b4\ub5a4 \uc77c\uc744 \ub2e4 \ub05d\ub09c \ud6c4\uc5d0 \ub9ac\ud134\ud558\ub294 \ud568\uc218"),Object(l.b)("li",{parentName:"ul"},"predicate : \uc870\uac74\uc744 \ub9ac\ud134\ud558\ub294 \ud568\uc218"),Object(l.b)("li",{parentName:"ul"},"iterator(?): \ub3cc\uba74\uc11c \ubc18\ubcf5\uc801\uc73c\ub85c \uc2e4\ud589\ub418\ub294 \ud568\uc218"),Object(l.b)("li",{parentName:"ul"},"mapper: \ubb34\uc5b8\uac00\uc758 \uc0ac\uc774\ub97c \ub9e4\ud551\ud558\ub294 \ud568\uc218")),Object(l.b)("p",null,"\ubcf4\uc870 \ud568\uc218\uc758 \uc774\ub984\uc744 \ub2e4\ub974\uac8c \ubd88\ub7ec\uc8fc\uc790"),Object(l.b)("h2",{id:"\ucee4\ub9c1-curry-curryr"},"\ucee4\ub9c1 curry, curryr"),Object(l.b)("p",null,"\ud568\uc218\uc640 \uc778\uc790\ub97c \ub2e4\ub8e8\ub294 \uae30\ubc95.\n\ud568\uc218\uc758 \uc778\uc790\ub97c \ud558\ub098\uc529 \uc801\uc6a9\ud574 \ub098\uac00\ub2e4\uac00, \ud544\uc694\ud55c \uc778\uc790\uac00 \ubaa8\ub450 \ucc44\uc6cc\uc9c0\uba74 \ud568\uc218\ubcf8\uccb4\ub97c \uc2e4\ud589\ud55c\ub2e4."),Object(l.b)("p",null,"JavaScript \ub294 \ucee4\ub9c1\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc9c0\ub9cc, \uc77c\uae09\ud568\uc218\uac00 \uc9c0\uc6d0\ub418\uace0 \ud3c9\uac00\uc2dc\uc810\uc744 \ub9c8\uc74c\ub300\ub85c \ub2e4\ub8f0 \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0\n\ucee4\ub9c1\uc744 \uad6c\ud604\ud560 \uc218 \uc788\ub2e4."),Object(l.b)("h3",{id:"curry"},"curry"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _curry(fn) {\n return function(a) {\n return function(b) {\n return fn(a, b);\n }\n }\n}\n")),Object(l.b)("p",null,"curry \uac00 \uc544\ub2cc \uc608"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const add = function(a, b) {\n return a + b;\n};\nconsole.log(add(10, 5)); // 15\n")),Object(l.b)("p",null,"curry \ub97c \uc0ac\uc6a9\ud55c \uc608"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const add2 = _curry(function(a, b) {\n return a + b;\n});\n\nconst add10 = add2(10);\nconsole.log(add10(5)); // 15\n\nconsole.log(add2(5)(3)); // 15\n")),Object(l.b)("p",null,"curry \uc758 \ubcc0\ud615"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _curry(fn) {\n return function(a, b) {\n if (arguments.length === 2) return fn(a, b);\n return function(b) {\n return fn(a, b);\n }\n }\n}\nconsole.log(add2(1, 2))\n")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _curry(fn) {\n return function(a, b) {\n return arguments.length === 2 ? fn(a, b) : function(b) { return fn(a, b); };\n }\n}\nconsole.log(add2(1, 2))\n")),Object(l.b)("p",null,"curry \ub97c \uc774\uc6a9\ud55c \ube7c\uae30 \ud568\uc218"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const sub = _curry(function(a, b) {\n return a - b;\n})\nconsole.log(sub(10, 5)); // 5\n")),Object(l.b)("h3",{id:"_curryr"},"_curryr"),Object(l.b)("p",null,"\uc778\uc790\ub97c \uc624\ub978\ucabd\uc5d0\uc11c \ubd80\ud130 \ucc44\uc6cc\ub098\uac10"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const sub10 = sub(10);\nconsole.log(sub10(5)); // 5\n")),Object(l.b)("p",null,"\uc778\uc790\ub97c \ub97c \ubc18\ub300\ub85c \ucc44\uc6cc\ub123\uace0 \uc2f6\uc744\ub54c"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _curryr(fn) {\n return function (a, b) {\n return arguments.length === 2 ? fn(a, b) : function(b) { return fn(b, a)}\n }\n}\n")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"var sub = _curryr(function(a, b) {\n return a - b;\n})\nconsole.log(sub(10, 5));\nconst sub10 = sub(10);\nconsole.log(sub10(5)); // -5\n")),Object(l.b)("h3",{id:"_get"},"_get"),Object(l.b)("p",null,"object \uc758 \uac12\uc744 \uc548\uc804\ud558\uac8c \ucc38\uc870\ud558\ub294 \ud568\uc218"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _get(obj, key) {\n return obj === null ? undefined : obj[key];\n}\n")),Object(l.b)("p",null,"\uc788\ub294 \uac12\uc744 \ucc38\uc870\ud560 \ub54c"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const user1 = users[0];\nconsole.log(user1.name);\nconsole.log(_get(users1, 'name'));\n")),Object(l.b)("p",null,"\ub9cc\uc57d \uc5c6\ub294 \uac12\uc744 \ucc38\uc870\ud558\ub824 \ud560 \ub54c"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"console.log(users1[10].name) // undefined Type Error\nconsole.log(_get(users[10], 'name')); // undefined\n")),Object(l.b)("p",null,Object(l.b)("a",{parentName:"p",href:"#curry"},"\ucee4\ub9c1"),"\uc744 \uc774\uc6a9\ud55c _get"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const _get = _curryr(function(obj, key) {\n return obj === null ? undefined : obj[key];\n})\nconsole.log(_get('name')(user1));\n")),Object(l.b)("p",null,"name \uc744 \uaebc\ub0b4\ub294 \ud568\uc218\ub97c \ub9cc\ub4e4\uc5b4 \uc7ac\ud65c\uc6a9 \ud560 \uc218 \uc788\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const get_name = _get('name');\nconsole.log(get_name(user1));\nconsole.log(get_name(user1[3]));\n")),Object(l.b)("p",null,"\uc774\uc804\uc758 _map \uc744 \uc0ac\uc6a9\ud55c \ucf54\ub4dc\ub97c \ub354 \uac04\uacb0\ud558\uac8c \ud560 \uc218 \uc788\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"_map(\n _filter(users, function(user) { return user.age >= 30; }),\n function(user) { return user.name; })\n);\n\n_map(\n _filter(users, function(user) { return user.age < 30; }),\n function(user) { return user.age; })\n);\n")),Object(l.b)("p",null,"after"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"_map(\n _filter(users, function(user) { return user.age >= 30; }),\n _get('name')\n)\n\n_map(\n _filter(users, function(user) { return user.age < 30; }),\n _get('age'))\n)\n")),Object(l.b)("h3",{id:"_reduce"},"_reduce"),Object(l.b)("p",null,"\ub9ac\uc2a4\ud2b8\uc758 \uc218\ub9cc\ud07c iter \uc744 \ubc18\ubcf5\ud55c\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-jsx"},"function _reduce(list, iter, memo) {\n iter(iter(iter(0, 1), 2),3 );\n}\n\nconsole.log(\n _reduce([1,2,3], add, 0)\n)\n\nmemo = add(0,1);\nmemo = add(memo, 2);\nmemo = add(memo, 3);\n\nreturn memo;\n")),Object(l.b)("p",null,"reduce \ub294 \uc6d0\ub798\ub4e4\uc5b4\uc628 \uc790\ub8cc\uc640 \ub2e4\ub978, \uc0c8\ub85c\uc6b4 \ucd95\uc57d\ub41c \ud615\ud0dc\uc758 \uc790\ub8cc\ub85c \uac00\uacf5\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ub41c\ub2e4."),Object(l.b)("p",null,"filter\ub098 map \uc740 array \ub85c \ub4e4\uc5b4\uc628 \uac83\uc744 array \ub85c \ub2e4\uc2dc \ub9ac\ud134\ud55c\ub2e4."),Object(l.b)("p",null,"reduce \ub294 array \ub85c \ub4e4\uc5b4\uc628 \uac83\uc744 \ub2e4\ub978 \ud615\ud0dc\ub85c \ub9cc\ub4e4 \uc218 \uc788\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"var slice = Array.prototype.slice;\nfunction _rest(list, num) {\n return slice.call(list, num || 1);\n}\n\nfunction _reduce(list, iter, memo) {\n // memo \uac00 \uc5c6\uc744 \uacbd\uc6b0\n if (arguments.length == 2) {\n memo = list[0];\n // array like \ucc98\ub9ac\n list = _rest(list);\n }\n\n _each(list, function(val) {\n memo = iter(memo, val);\n });\n\n return memo;\n}\n")),Object(l.b)("h2",{id:"\ud30c\uc774\ud504\ub77c\uc778-_pipe-_go-\ud654\uc0b4\ud45c-\ud568\uc218"},"\ud30c\uc774\ud504\ub77c\uc778 _pipe, _go, \ud654\uc0b4\ud45c \ud568\uc218"),Object(l.b)(c.a,{defaultValue:"_pipe",values:[{label:"_pipe",value:"_pipe"},{label:"_go",value:"_go"}],mdxType:"Tabs"},Object(l.b)(u.a,{value:"_pipe",mdxType:"TabItem"},"\ud568\uc218\ub4e4\uc744 \uc778\uc790\ub85c \ubc1b\uc544\uc11c \ud568\uc218\ub4e4\uc744 \uc5f0\uc18d\uc801\uc73c\ub85c \uc2e4\ud589\ud574 \uc8fc\ub294 \ud568\uc218",Object(l.b)("p",null,"\ud568\uc218\ub97c \uc5f0\uc18d\uc801\uc73c\ub85c \uc2e4\ud589\ud558\ub294 \ud568\uc218\ub97c \ub9ac\ud134\ud55c\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _pipe() {\n var fns = arguments;\n return function(arg) {\n return _reduce(fns, function(arg, fn) {\n return fn(arg)\n }, arg);\n }\n}\n\nvar f1 = _pipe(\n function(a) { return a + 1; },\n function(a) { return a * 2; },\n function(a) { return a * 2; },\n);\n\nconsole.log(f1(1));\n"))),Object(l.b)(u.a,{value:"_go",mdxType:"TabItem"},"\uc989\uc2dc \uc2e4\ud589\ub418\ub294 _pipe \ud568\uc218",Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _go(arg) {\n var fns = _rest(arguments);\n return _pipe.apply(null, fns)(arg);\n}\n\n_go(1,\n function(a) { return a + 1; },\n function(a) { return a * 2; },\n function(a) { return a * 2; },\n console.log\n);\n")),Object(l.b)("p",null,"\uc55e\uc11c \uc791\uc131\ud55c \ud568\uc218\ub4e4\uc744 _go \ub97c \uc774\uc6a9\ud574 \uc791\uc131\ud574 \ubcf4\uc790."),Object(l.b)(c.a,{defaultValue:"before",values:[{label:"before",value:"before"},{label:"after1",value:"after1"},{label:"after2",value:"after2"},{label:"\ud654\uc0b4\ud45c \ud568\uc218",value:"\ud654\uc0b4\ud45c \ud568\uc218"}],mdxType:"Tabs"},Object(l.b)(u.a,{value:"before",mdxType:"TabItem"},"\uc548\ucabd\uc5d0\uc11c \ubc14\uae65\ucabd\uc73c\ub85c \uc804\uac1c\ub428\uc73c\ub85c \uac00\ub3c5\uc131\uc774 \ub5a8\uc5b4\uc9c4\ub2e4.",Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"console.log(\n _map(\n _filter(users, function(user) { return user.age >= 30; }),\n _get('name')\n )\n)\n"))),Object(l.b)(u.a,{value:"after1",mdxType:"TabItem"},Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"_go(users,\n function(users) {\n return _filter(users, function(user) {\n return user.age >= 30;\n }\n },\n function(users) {\n return _map(users, _get('name'));\n },\n console.log);\n"))),Object(l.b)(u.a,{value:"after2",mdxType:"TabItem"},Object(l.b)("p",null,"_curryr \uc744 \uc774\uc6a9\ud558\uc5ec \ud55c\ubc88 \ub354 \ubcc0\ud615\ud560 \uc218 \uc788\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"// 1\nconsole.log(\n _map([1, 2, 3], function(val) { return val * 2 })\n)\n\n// 2\nconsole.log(\n _map(function(val) { return val * 2; })([1, 2, 3]);\n)\n\n// 3\n_go(users,\n _filter(function(user) { return user.age >= 30 }),\n _map(_get('name'),\n console.log);\n"))),Object(l.b)(u.a,{value:"\ud654\uc0b4\ud45c \ud568\uc218",mdxType:"TabItem"},Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"_go(users,\n _filter(user => user.age < 30),\n _map(_get('name'))\n)\n")))))),Object(l.b)("h2",{id:"\ud568\uc218\ud615-\ud504\ub85c\uadf8\ub798\ubc0d"},"\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\ud568\uc218\uac00 \ud568\uc218\ub97c \uc2e4\ud589\ud55c\ub2e4."),Object(l.b)("li",{parentName:"ul"},"\ud568\uc218\uac00 \ud568\uc218\ub97c \ub9ac\ud134\ud55c\ub2e4."),Object(l.b)("li",{parentName:"ul"},"\ud568\uc218\uc758 \ud3c9\uac00\uc2dc\uc810, \ud568\uc218\uc758 \uc778\uc790\ub4e4\uc774 \uc801\uc6a9\ub418\uc5b4\uac00\ub294 \uacfc\uc815\uc5d0\uc11c Side Effect \uac00 \uc5c6\uace0 \uc21c\uc218\ud568\uc218\ub4e4\ub85c \uad6c\uc131\ub41c\ub2e4."),Object(l.b)("li",{parentName:"ul"},"\uc870\ud569\uc131\uc744 \uac15\uc870\ud55c\ub2e4."),Object(l.b)("li",{parentName:"ul"},"\ucd94\uc0c1\ud654\uc758 \ub2e8\uc704\ub97c \ud568\uc218\ub85c \ud55c\ub2e4.")),Object(l.b)("h2",{id:"\uace0\ucc28\ud568\uc218"},"\uace0\ucc28\ud568\uc218"),Object(l.b)("p",null,"\ud568\uc218\ub97c \uc778\uc218\ub85c \ubc1b\ub294 \ud568\uc218 ex) map, reduce...\n\ud568\uc218\ub97c \ubc18\ud658\ud558\ub294 \ud568\uc218 ex) bind"),Object(l.b)("h2",{id:"\ub2e4\ud615\uc131-\ub192\uc774\uae30-_keys-\uc5d0\ub7ec"},"\ub2e4\ud615\uc131 \ub192\uc774\uae30, _keys, \uc5d0\ub7ec"),Object(l.b)("p",null,"\ud568\uc218\ud615\ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c\ub294, ",Object(l.b)("strong",{parentName:"p"},"\uc608\uc678\uc801\uc778 \ub370\uc774\ud130"),"\uac00 \ub4e4\uc5b4\uc624\uba74,"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"\ub2e4\ud615\uc131\uc744 \ub192\uc774\ub294 \ubc29\ubc95\uc73c\ub85c \ud574\uacb0"),"\ud560 \uc218 \uc788\ub2e4.")),Object(l.b)("h3",{id:"_each-\uc758-\uc678\ubd80-\ub2e4\ud615\uc131-\ub192\uc774\uae30"},Object(l.b)("inlineCode",{parentName:"h3"},"_each")," \uc758 \uc678\ubd80 \ub2e4\ud615\uc131 \ub192\uc774\uae30"),Object(l.b)(c.a,{defaultValue:"null",values:[{label:"_each \uc5d0 null \ub123\uc5b4\ub3c4 \uc5d0\ub7ec \uc548\ub098\uac8c",value:"null"},{label:"_keys \ub9cc\ub4e4\uae30",value:"_keys \ub9cc\ub4e4\uae30"},{label:"_each \uc678\ubd80 \ub2e4\ud615\uc131 \ub192\uc774\uae30",value:"_each \uc678\ubd80 \ub2e4\ud615\uc131 \ub192\uc774\uae30"}],mdxType:"Tabs"},Object(l.b)(u.a,{value:"null",mdxType:"TabItem"},Object(l.b)("p",null,Object(l.b)("inlineCode",{parentName:"p"},"_each(null, console.log)")," \ub294 error \uac00 \ubc1c\uc0dd\ud55c\ub2e4.\n_each \ud568\uc218 \ub0b4\ubd80\uc5d0\uc11c ",Object(l.b)("inlineCode",{parentName:"p"},"list.length")," length \ub97c \ucc38\uc870\ud558\uace0\uc790 \ud560 \ub54c list \uac00 null \uc774\uae30 \ub54c\ubb38\uc774\ub2e4."),Object(l.b)("p",null,"\uc5d0\ub7ec\uac00 \ub098\uc9c0 \uc54a\uac8c \ud558\uae30 \uc704\ud574\uc11c\ub294"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("inlineCode",{parentName:"p"},"_get")," \ud568\uc218\ub294 null \uccb4\ud06c\ub97c \ud574\uc8fc\uace0 \uc788\ub2e4.")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("inlineCode",{parentName:"p"},"_get")," \ud568\uc218\ub97c \ud1b5\ud558\uc5ec ",Object(l.b)("inlineCode",{parentName:"p"},"list.length")," \uc5d0 ",Object(l.b)("inlineCode",{parentName:"p"},"undefined")," \uac00 \ub4e4\uc5b4\uac04\ub2e4\uba74 \uc5d0\ub7ec\ub294 \ub098\uc9c0 \uc54a\uace0")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("inlineCode",{parentName:"p"},"i < undefined")," \uac00 false \uc774\uae30 \ub54c\ubb38\uc5d0 for \ubb38\uc744 \uc218\ud589\ud558\uc9c0 \uc54a\uac8c \ub41c\ub2e4."),Object(l.b)("pre",{parentName:"li"},Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"// _curryr \uc774\uc6a9\ud558\uc5ec\nvar _length = _get('length');\n\nfunction _each(list, iter) {\n for (var i = 0, len = _length(list); i < len; i++) {\n iter(list[i]);\n }\n return list;\n}\n")))),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"\ud568\uc218\ud615\ud504\ub85c\uadf8\ub798\ubc0d \uc5d0\uc11c\ub294 \uc608\uc678\uc801\uc778 \ub370\uc774\ud130\uac00 \ub4e4\uc5b4\uc640\ub3c4 \uc5d0\ub7ec\uac00 \ub098\uc9c0 \uc54a\ub3c4\ub85d \uc720\uc5f0\ud558\uac8c \uad6c\ud604\ud55c\ub2e4."),"\n(underscore.js \uc5d0\uc11c \uad6c\ud604\ud558\ub294 \ubc29\ubc95)"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"if \ub85c \ud0c0\uc785\uc744 \uccb4\ud06c \ud55c\ub2e4\uac70\ub098, try-catch \ub97c \uc4f0\uc9c0 \uc54a\ub294\ub2e4."))),Object(l.b)(u.a,{value:"_keys \ub9cc\ub4e4\uae30",mdxType:"TabItem"},Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"Object.keys({ name: 'ID', age: 33 }); // [name, age]\nObject.keys([1, 2, 3, 4]); // [0, 1, 2, 3]\nObject.keys(10); // []\n\n// error \uc774 \ubd80\ubd84\uc744 \uc548\uc804\ud558\uac8c \ub9cc\ub4dc\ub294 _keys \ub97c \ub9cc\ub4e4 \uac83\uc774\ub2e4.\nObject.keys(null);\n\nfunction _is_object(obj) {\n return typeof obj == 'object' && !!obj;\n}\n\nfunction _keys(obj) {\n return _is_object(obj) ? Object.keys(obj) : [];\n}\n\n"))),Object(l.b)(u.a,{value:"_each \uc678\ubd80 \ub2e4\ud615\uc131 \ub192\uc774\uae30",mdxType:"TabItem"},Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"const obj = {\n 13: 'ID',\n 19: 'HD',\n 29: 'YD'\n};\n\nobj.length; // undefined\n_each(obj, function(name) {\n console.log(name);\n}); // obj.length \uac00 \uc5c6\uc73c\ubbc0\ub85c \uacb0\uacfc\ub294 []\n")),Object(l.b)("p",null,"length \uac00 \uc5c6\uc5b4\ub3c4 \uc21c\ud68c\ud560 \uc218 \uc788\uac8c \ub9cc\ub4e4\uc5b4\ubcf4\uc790."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"function _each(list, iter) {\n var keys = _keys(list);\n for (var i = 0, len = keys.length; i < len; i++) {\n iter(list[keys[i]]);\n }\n return list;\n}\n")),Object(l.b)("p",null,"\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c\ub294 \ucd5c\ub300\ud55c \ub2e4\ud615\uc131\uc744 \ub192\ud788\uac8c \ub054 \ucf54\ub4dc\ub97c \uc791\uc131\ud55c\ub2e4."),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-javascript"},"_map(obj, function(name) {\n return name.toLowerCase();\n})\n\n_go(null,\n _map(function(user) {\n return user.name;\n }),\n _map(function(name) {\n return name.toLowerCase();\n }),\n console.log)\n);\n")))))}p.isMDXComponent=!0},482:function(e,n,t){"use strict";t.d(n,"a",(function(){return o})),t.d(n,"b",(function(){return j}));var a=t(0),r=t.n(a);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function u(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?c(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function b(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=r.a.createContext({}),i=function(e){var n=r.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):u(u({},n),e)),t},o=function(e){var n=i(e.components);return r.a.createElement(s.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},m=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,l=e.originalType,c=e.parentName,s=b(e,["components","mdxType","originalType","parentName"]),o=i(t),m=a,j=o["".concat(c,".").concat(m)]||o[m]||p[m]||l;return t?r.a.createElement(j,u(u({ref:n},s),{},{components:t})):r.a.createElement(j,u({ref:n},s))}));function j(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var l=t.length,c=new Array(l);c[0]=m;var u={};for(var b in n)hasOwnProperty.call(n,b)&&(u[b]=n[b]);u.originalType=e,u.mdxType="string"==typeof e?e:a,c[1]=u;for(var s=2;s<l;s++)c[s]=t[s];return r.a.createElement.apply(null,c)}return r.a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},483:function(e,n,t){"use strict";function a(e){var n,t,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(n=0;n<e.length;n++)e[n]&&(t=a(e[n]))&&(r&&(r+=" "),r+=t);else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}n.a=function(){for(var e,n,t=0,r="";t<arguments.length;)(e=arguments[t++])&&(n=a(e))&&(r&&(r+=" "),r+=n);return r}},486:function(e,n,t){"use strict";var a=t(0),r=t(487);n.a=function(){const e=Object(a.useContext)(r.a);if(null==e)throw new Error("`useUserPreferencesContext` is used outside of `Layout` Component.");return e}},487:function(e,n,t){"use strict";var a=t(0);const r=Object(a.createContext)(void 0);n.a=r},489:function(e,n,t){"use strict";var a=t(0),r=t.n(a),l=t(486),c=t(483),u=t(53),b=t.n(u);const s=37,i=39;n.a=function(e){const{lazy:n,block:t,defaultValue:u,values:o,groupId:p,className:m}=e,{tabGroupChoices:j,setTabGroupChoices:g}=Object(l.a)(),[O,d]=Object(a.useState)(u),f=a.Children.toArray(e.children);if(null!=p){const e=j[p];null!=e&&e!==O&&o.some((n=>n.value===e))&&d(e)}const _=e=>{d(e),null!=p&&g(p,e)},v=[];return r.a.createElement("div",null,r.a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:Object(c.a)("tabs",{"tabs--block":t},m)},o.map((({value:e,label:n})=>r.a.createElement("li",{role:"tab",tabIndex:0,"aria-selected":O===e,className:Object(c.a)("tabs__item",b.a.tabItem,{"tabs__item--active":O===e}),key:e,ref:e=>v.push(e),onKeyDown:e=>{((e,n,t)=>{switch(t.keyCode){case i:((e,n)=>{const t=e.indexOf(n)+1;e[t]?e[t].focus():e[0].focus()})(e,n);break;case s:((e,n)=>{const t=e.indexOf(n)-1;e[t]?e[t].focus():e[e.length-1].focus()})(e,n)}})(v,e.target,e)},onFocus:()=>_(e),onClick:()=>{_(e)}},n)))),n?Object(a.cloneElement)(f.filter((e=>e.props.value===O))[0],{className:"margin-vert--md"}):r.a.createElement("div",{className:"margin-vert--md"},f.map(((e,n)=>Object(a.cloneElement)(e,{key:n,hidden:e.props.value!==O})))))}},490:function(e,n,t){"use strict";var a=t(0),r=t.n(a);n.a=function({children:e,hidden:n,className:t}){return r.a.createElement("div",{role:"tabpanel",hidden:n,className:t},e)}}}]);