路由跳转-新窗口打开
const path = '/index' // 要跳转的地址
let { href } = this.$router.resolve({ path: path })
window.open(href, '_blank')
多条件判断 includes() 代替 ||
const num = 1
// before
if(num == 1 || num == 2 || num == 3){
console.log("Yay")
}
// after, 避免使用长|| 检查多个条件链
if([1,2,3].includes(num)){
console.log("Yay")
}
数字与字符串的相互转换
// 数字转字符串
let numStr = 1 + ''
console.log(typeof numStr,numStr) // 'string' '1'
// 字符串转数字,使用+运算符
let numStr = "124"
let num = +numStr
json数据格式化显示
JSON.stringify(data, null, 4)
- data:需要解析成字符串的对象
- null:好像起到字符串json格式化换行的效果
- 4:格式化缩进格式按照四个字符缩进
使用 !+"\v1"
快速判断 IE8 及以下的浏览器
- 运行
!+"\v1"
- true:IE8及以下; false:其它
使用 arr.length = 0
来清空数组
let arr = [0, 1, 2]
arr.length = 0
console.log(arr) // []
arr = [] 和 arr.length = 0 的区别:
var arr1 = [1,2,3]
var arr2 = [4,5,6]
var newArr1 = arr1
var newArr2 = arr2
console.log(arr1,newArr1,arr2,newArr2) // [1, 2, 3] [1, 2, 3] [4, 5, 6] [4, 5, 6]
arr1 = []
arr2.length = 0
console.log(arr1,newArr1,arr2,newArr2) // [] [1, 2, 3] [] []
- arr = [],重新开辟一块内存,其它引用不受影响。
- arr的指针指向这个空数组的内存,原有的内存数据还存在
- 这意味着对先前数组的赋值任然保留在内存中,从而导致内存泄露
- arr.length = 0,删除当前数组中的全部内容,但不影响与其他的关联性
sort()方法无效、自定义sort规则
解决sort()排序无效
// 对sort方法进行重写,本质是冒泡排序
// a-b是从小到大排序,b-a是从大到小排序
arr.sort(function (a, b) {
return a - b;
})
自定义sort规则
eg: 二维数组排序(根据第一个数由小到大排序)
输入:[ [3,5], [6,1], [5,8], [1,2] ]
输出:[ [1,2], [3,5], [5,8], [6,1] ]
arr.sort((a, b) => {
return Number(a[0]) - Number(b[0]);
})