修改数组对象的属性(key)名 方法一
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 var array = [ { id : 1 , name : "小明" }, { id : 2 , name : "小红" }, ]; var keyMap = { id : "value" , name : "label" };for (var i = 0 ; i < array.length ; i++) { var obj = array[i]; for (var key in obj) { var newKey = keyMap[key]; if (newKey) { obj[newKey] = obj[key]; delete obj[key]; } } } console .log (array);
方法二
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 let arr = [ { evaluateResult : "A类" , evaluateTotal : 22 , a : 1 }, { evaluateResult : "B类" , evaluateTotal : 22 , b : 2 }, ]; let keyMap = { evaluateResult : "name" , evaluateTotal : "value" };arr.map ((item ) => { var objs = Object .keys (item).reduce ((newData, key ) => { let newKey = keyMap[key] || key; newData[newKey] = item[key]; return newData; }, {}); console .log (objs); });
方法三
1 2 3 4 5 6 7 8 9 10 11 this .categoryOption = res.data .map (item => { return { value : item.id , label : item.name , children : item.sonList .map (sonItem => { return { value : sonItem.id , label : sonItem.name }; }) console .log (this .categoryOption );
JS 时间对象 new Date()的常用方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 new Date (), +new Date (); Date .now ();new Date ().getTime ()new Date ().toJSON (), new Date ().toISOString (), new Date ().toDateString (), new Date ().toLocaleString (), new Date ().toLocaleDateString (), new Date ().toLocaleTimeString (), new Date (1621541748005 ).toLocaleString ()getDate ()获取当前日期对象是几日(1 -31 )getDay ()获取当前日期对象是周几(返回0 -6.0 表示周日.1 表示周一)getMonth ()获取当前月份(0 -11.0 表示一月.11 表示12 月)geFullYear ()获取当前年份geHours ()获取小时(0 -23 )geMinutes ()获取分钟(0 -59 )geSeconds ()获取秒数(0 -59 )geMilliseconds ()获取毫秒数
js base64 转二进制 Blog 大对象 imgURL = canvas.toDataURL(“image/png”);//返回的是 data:image/png;base64,iVBORxxxx… imgURL=URL.createObjectURL(/blob/对象);//返回的是 data:image/png;base64,iVBORxxxx…
下面是将 base64 的 URL 转换成 Blob 对象 1.Base64 转文件格式大小(带有前缀的截取,比如 data:application/pdf;base64,JVEwxxx…)
1 2 3 4 5 6 7 8 9 10 11 12 function base64toBlob (dataurl, filename ) { 将base64转换为文件; var arr = dataurl.split ("," ), mime = arr[0 ].match (/:(.*?);/ )[1 ], bstr = atob (arr[1 ]), n = bstr.length , u8arr = new Uint8Array (n); while (n--) { u8arr[n] = bstr.charCodeAt (n); } return new File ([u8arr], filename, { type : mime }); }
2.Base64 转 blob 格式大小(不用处理前缀)
1 2 3 4 5 6 7 8 9 10 function base64toBlob (base64, type ) { (bstr = atob (base64, type)), (n = bstr.length ), (u8arr = new Uint8Array (n)); while (n--) { u8arr[n] = bstr.charCodeAt (n); } return new Blob ([u8arr], { type, }); }
下载图片
1 2 3 4 5 6 7 let a = document .createElement ("a" );a.download = "image" ; a.href = URL .createObjectURL (blob); a.click (); URL .revokeObjectURL (blob);
vue 中的 render 函数介绍 使用 render 函数描述虚拟 DOM 时,vue 提供一个函数,这个函数是就构建虚拟 DOM 所需要的工具。官网上给他起了个名字叫 createElement。还有约定的简写叫 h,
vm 中有一个方法_c,也是这个函数的别名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 render : function (createElement ) { let _this = this ['$options' ].parent let _header = _this.$slots .header return createElement ( 'div' , { style : { color : '#333' , border : '1px solid #ccc' } }, [ 'text' , _this.$slots .default , createElement ('div' , _header) ] ) }
就是说 createElement(params1,params2,params3)接受三个参数,每个参数的类型官方介绍已经说明render 函数的用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 render : (h ) => { return h ("div" , { props : { value : "" , }, style : { width : "30px" , }, on : { click : () => { console .log ("点击事件" ); }, }, }); };