涉及数组的map经典用法, 不一样的数组解构用法,
精简的动态属性对象用法
提取当前域名的Cookie数据
let result = document.cookie, 获取到的数据结构如下
"_ga=GA1.2.508865395.1567870094; gr_user_id=06e98b97-09a2-4889-9b94-42f01869a72e; _gid=GA1.2.195245427.1593880848; Hm_lvt_93bbd335a208870aa1f296bcd6842e5e=1593880848; Hm_lpvt_93bbd335a208870aa1f296bcd6842e5e=1593881432; gr_session_id_89669d96c88aefbc=7bf7a940-7420-40e5-92fa-56c70842c6ea; gr_session_id_89669d96c88aefbc_7bf7a940-7420-40e5-92fa-56c70842c6ea=true"
第1次分割字符串,分割分隔标记为 ;
result = result.split(';')
["_ga=GA1.2.508865395.1567870094", " gr_user_id=06e98b97-09a2-4889-9b94-42f01869a72e", " _gid=GA1.2.195245427.1593880848", " Hm_lvt_93bbd335a208870aa1f296bcd6842e5e=1593880848", " Hm_lpvt_93bbd335a208870aa1f296bcd6842e5e=1593881432", " gr_session_id_89669d96c88aefbc=7bf7a940-7420-40e5-92fa-56c70842c6ea", " gr_session_id_89669d96c88aefbc_7bf7a940-7420-40e5-92fa-56c70842c6ea=true"]
第2次分割字符串,分割分隔标记为 =
result = result.map(i=>i.split('='))
, 结果为一个二维数组
[
[ "_ga", "GA1.2.508865395.1567870094" ],
[ " gr_user_id", "06e98b97-09a2-4889-9b94-42f01869a72e" ],
[ " _gid", "GA1.2.195245427.1593880848" ],
[ " Hm_lvt_93bbd335a208870aa1f296bcd6842e5e", "1593880848" ],
[ " Hm_lpvt_93bbd335a208870aa1f296bcd6842e5e", "1593881432" ],
[ " gr_session_id_89669d96c88aefbc", "7bf7a940-7420-40e5-92fa-56c70842c6ea" ],
[ " gr_session_id_89669d96c88aefbc_7bf7a940-7420-40e5-92fa-56c70842c6ea", "true" ]
]
将二维数组转换成对象数组,形如[{key1:val1},{key2:val2}]
result = reuslt.map(([key,value]) => ({ [key] :value }) )
语法分解:([key,value]) 为数组解构语法; ({ [key] :value }) 为动态属性的对象语法
[
{ "_ga": "GA1.2.508865395.1567870094" },
{ " gr_user_id": "06e98b97-09a2-4889-9b94-42f01869a72e" },
{ " _gid": "GA1.2.195245427.1593880848" },
{ " Hm_lvt_93bbd335a208870aa1f296bcd6842e5e": "1593880848" },
{ " Hm_lpvt_93bbd335a208870aa1f296bcd6842e5e": "1593881432" },
{ " gr_session_id_89669d96c88aefbc": "7bf7a940-7420-40e5-92fa-56c70842c6ea" },
{ " gr_session_id_89669d96c88aefbc_7bf7a940-7420-40e5-92fa-56c70842c6ea": "true" }
]