项目中常用的数据处理。。数组、对象、字符串,正则。。。持续更新。
es6 去掉两个数组中相同值的对象
let newArr = arr1.filter((item) => !arr2.some((v) => v.id === item.id));
// 栗子
const arr1 = [{name: '1', id: 1}, {name: '2', id:2}]
const arr2 = [{name: '1', id: 1}]
console.log(newArr) // [ {name: '2', id: 2} ]
输入框只能输入正整数
<el-input type="text" v-model.number="item.threshold" oninput="this.value = this.value.replace(/[^0-9]/g, '');" class="input-number-style"></el-input>
输入框保留两位小数
<el-input type="number" v-model="item.threshold" class="input-number-style" onkeyup="!/^(\d+\.?)?\d{0,2}$/.test(this.value)?(this.value=this.value.substring(0, this.value.length-1)): ''"></el-input>
字符串系列
substring截取文件名和后缀
const url= 'https:/files/name.docx'
// 获取文件名与后缀名
const res = url.substring(url.lastIndexOf("/") + 1, url.length)
console.log(res) // name.docx
// 获取后缀
const res = url.substring(url.lastIndexOf(".") + 1, url.length)
console.log(res) // docx
// 获取文件名
const res = url.substring(url.lastIndexOf("/") + 1, url.lastIndexOf("."))
console.log(res) // name
只能输入汉字、英文字母和数字,并且数字不能开头
const reg = /^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]*$/