**`浅拷贝和深拷贝`**
let arr = [{name:'123'}]
[...arr] 浅拷贝
Object.assign([], arr) 浅拷贝
_.cloneDeep(arr) 深拷贝
JSON.parse(JSON.stringify(arr)) 深拷贝 不能拷贝 constructor 方法
**`数组去重`**
uniqueKey (arr, key) {
let hash = {};
let result = arr.reduce((total, currentValue) => {
if (!hash[currentValue[key]]) { //如果当前元素的key值没有在hash对象里,则可放入最终数组
hash[currentValue[key]] = true; //把当前元素key值添加到hash对象
total.push(currentValue); //把当前元素放入结果数组
}
return total; //返回结果数组
}, []);
return result;
}
**`替换数组对象字段`**
var res = data.map(o => { return { path: o.file_path, label: o.file_name } })
**`返回两位的小数的字符串`**
toFixedNum(num) {
const tonum = Number(num).toFixed(2);
return tonum;
},
**` 使用textarea标签按Enter键后web页面中成换行`**
formatSolution(s) {
if (s) {
return s
.replace(/\r\n/g, "<br/>")
.replace(/\n/g, "<br/>")
.replace(/\s/g, " ");
} else return "";
},
**`数组常用方法`**
toString() 将数组转换成一个字符串
toLocalString() 把数组转换成本地约定的字符串
join() 将数组元素连接起来以构建一个字符串
**`保留两位小数不补零`**
原型:
Number.prototype.fixed=function(len){
len=isNaN(len)?0:len
var num=Math.pow(10,len)
return Math.round(this*num)/num
}
parseFloat(Math.round(sum * 100) / 100))
前端开发常用方法
最新推荐文章于 2022-12-27 14:00:56 发布