1、将CST时间格式转换成yyyy-MM-dd
<script>dateFormat = function(date, format) {date = newDate(date);varo = {'M+':date.getMonth() + 1, //month'd+':date.getDate(), //day'H+':date.getHours(), //hour'm+':date.getMinutes(), //minute's+':date.getSeconds(), //second'q+':Math.floor((date.getMonth() + 3) / 3), //quarter'S':date.getMilliseconds() //millisecond};if (/(y+)/.test(format))format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));for (varkino)if (newRegExp('(' + k + ')').test(format))format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));return format;}console.log(dateFormat('Mon Apr 27 09:08:20 CST 2015', 'yyyy-MM-dd HH:mm:ss'));</script>
2、模板字符串的使用
let uname = "黑马程序员";let age = 18;document.write(`名字是${uname},今年${age}岁了!`); // ` 英文状态下点击1左边那个键;
3、js获取iframe页面元素
参考链接(https://www.cnblogs.com/Marydon20170307/p/9488998.html)
<iframe id="myframe"> </iframe>
(1)、通过父页面操作子页面,获取iframe页面中的元素
| 操作 | JavaScript | JQuery |
|---|---|---|
| 方式一: | document.getElementById(‘myframe’).contentWindow.document.getElementById(‘元素的选择器’) | $(‘#myframe’).contents.find(‘元素的选择器’) |
| 方式二: | document.frames[‘myframe’].document.getElementById(‘元素的选择器’) | $(‘元素的选择器’ , document.frames(‘myframes’).docment) |
(2)、找iframe的方法
点击iframe,然后审查元素->控制台输入$0即可选中当前的iframe;
4、对象转成数组的方法
(参考链接:https://jingyan.baidu.com/article/ed2a5d1f980c7809f7be177c.html)
另一种方法通过循环实现:https://www.cnblogs.com/Shysun/p/10465754.html
注意:Array.from()是es6支持的方法;
5、JSON的几种常用方法使用方法
参考链接(https://www.runoob.com/js/javascript-json-parse.html)
(1)、JSON.parse() :将字符串转换成对象的形式;
例如:返回数据格式如下:result = “{“queryParam” : “[{ “name” : “xiaoh”}]”}”
JSON.parse() 解析后数据格式是 result = queryParam : “[{“name” : “xiaoh”}]”
alert(result.queryParam)显示的是[Object Object];
(2)、JSON.stringify() :将对象转换成字符串的形式;
例如:返回数据格式如下:result = queryParam : “[{“name” : “xiaoh”}]”
var str = JSON.stringify( result.queryParam) ;
alert( str ) = [{“name” : “xiaoh”}];
6、数组转换成字符串的方法(element-ui表格列格式化用法)
问题现象:编辑页面使用element-ui中的多选下拉框,存入后台数据库的值为
zjly: "[\"计算机辅助工程(CAE)\",\"电子设计自动化(EDA)\"]"
在表格列显示格式为:计算机辅助工程(CAE),电子设计自动化(EDA)
实现方法:通过格式化函数实现。
- 首先在需要格式化的列上添加属性 :formatter=”formatter”
- 给formatter 添加格式化函数,如下:
formatter(row: any) {//因为返回值时字符串,所以先使用JSON.parse转换为数组,在使用数组的join方法进行分割;return JSON.parse(row.zjly).join(',')}
7、获取当前日期
//默认获取当日日期let date = new Date()let y = date.getFullYear()let m = date.getMonth() + 1let month = m < 10 ? '0' + m : mlet d = date.getDate()let day = d < 10 ? '0' + d : dconst time = y + '-' + month + '-' + day//将当前日期time赋值给页面上需要默认显示当前日期的变量this.formModel.khkssj = time
8、字符串转换为数组的方法
参考链接:(https://blog.csdn.net/lgno2/article/details/118837249)
split()方法:例如通过使用空字符串作为split方法的分隔符,我们可以将字符串转换为字符数组。
代码如下:const text = "abc";const chars = text.split('');console.log(chars);//['a', 'b', 'c']
9、js遍历对象的几种方法
参考链接:(https://www.cnblogs.com/wangdashi/p/9606182.html) ```javascript // 第一种方法: for…in const obj = { name:’zhangsan’, age:18 } for(let key in obj){ console.log(key + ‘—-‘ + obj[key]) }
// 输出结果: name—-zhangsan age—-18
// 第二种方法 Object.keys(obj)——Object.values(obj) // 参数 obj: 要返回其枚举自身属性的对象 // 返回值:一个表示给定对象的所有可枚举属性的字符串数组。 const obj = { id:1, name:’zhangsan’, age:18 } console.log(Object.keys(obj)) // 输出:obj对象的key组成的数组 [‘id’,’name’,’age’] console.log(Object.values(obj)) // 输出:obj对象的value组成的数组 [‘1’,’zhangsan’,’18’]
// 第三种方法 Object.getOwnPropertyNames(obj) // 返回一个数组,包含对象自身的所有属性(包含不可枚举属性),遍历可以获取key和value const obj = { id:1, name:’zhangsan’, age:18 } Object.getOwnPropertyNames(obj).forEach(function(key){ console.log(key+ ‘—-‘+obj[key]) }) // 输出结果: id—-1 name—-zhangsan age—-18
<a name="o1SQY"></a>## 10、合并两个数组并去除重复项只留下一个的方法```javascriptprivate mergeArray(arr1: any, arr2: any) {for (var i = 0; i < arr1.length; i++) {for (var j = 0; j < arr2.length; j++) {if (arr1[i].id === arr2[j].id) {//利用splice函数删除元素,从第i个位置,截取长度为1的元素arr1.splice(i, 1)}}}for (var m = 0; m < arr2.length; m++) {arr1.push(arr2[m])}return arr1}
11、vue实现倒计时
private day: any = ''private hr: any = ''private min: any = ''private sec: any = ''// 倒计时private countdown() {const end = Date.parse(new Date('2021-12-13 17:00:00') as any)const now = Date.parse(new Date() as any)const msec = end - nowif (msec < 0) returnlet day = parseInt((msec / 1000 / 60 / 60 / 24) as any)let hr = parseInt(((msec / 1000 / 60 / 60) % 24) as any)let min = parseInt(((msec / 1000 / 60) % 60) as any)let sec = parseInt(((msec / 1000) % 60) as any)this.day = daythis.hr = hr > 9 ? hr : '0' + hrthis.min = min > 9 ? min : '0' + minthis.sec = sec > 9 ? sec : '0' + secconst that = thisif (hr >= 0 && min >= 0 && sec >= 0) {// 倒计时五分钟提示if (hr == 0 && min == 5 && sec == 0) {this.$alert('距离考试结束还剩五分钟,请抓紧时间答题', '提示', {confirmButtonText: '确定',})}//倒计时结束提交试卷if (hr == 0 && min == 0 && sec == 3) {this.$message('3s后将强制交卷!')}if (hr == 0 && min == 0 && sec == 0) {this.dialogVisible = false}setTimeout(function () {that.countdown()}, 1000)}}mounted(){this.countdown()}
12、计算两个日期之间的天数
// 计算time与当前日期相差的天数,本质就是分别将两个日期转换成时间戳,// 将两者相差的时间戳再转回天数// 本示例中是实现,相差天数为大于两周就返回false,否则返回truefunction (time) {var day = (new Date().getTime() - Date.parse(time)) / (24 * 60 * 60 * 1000);if (day > 7) {return false} else {return true}}
13、js实现表格列显示效果为:
从 ‘测试,测试1’ 变为 ‘(1)测试,(2)测试1’
效果展示:
代码如下:
<el-table-columnprop="sbqtdw"label="申报牵头单位"width="400px":formatter="handleFmt"></el-table-column>private handleFmt(rowData: any) {let str = rowData.sbqtdw ? rowData.sbqtdw.split(',') : ''let newStr = ''for (var i = 0; i < str.length; i++) {newStr += '(' + Number(i + 1) + ') ' + str[i] + ','}return newStr.substr(0, newStr.length - 1)}
14、js实现表格行上下排序:
实现效果:
页面代码:
<!-- index——下标, type——移动的类型, arr——表格的list集合 --><el-button:disabled="index === 0"icon="el-icon-arrow-up"@click="sort(field.options.options, index, 'up')"></el-button><el-button:disabled="index === field.options.options.length - 1"icon="el-icon-arrow-down"@click="sort(field.options.options, index, 'down')"></el-button>
ts代码:
// index——下标, type——移动的类型, arr——表格的list集合sort(arr, index, type) {if ('up' == type) {if (index !== 0) {let temp = arr[index - 1]this.$set(arr, index - 1, arr[index])this.$set(arr, index, temp)}} else {if (index !== arr.length - 1) {let i = arr[index + 1]this.$set(arr, index + 1, arr[index])this.$set(arr, index, i)}}},
