lodash常用函数

深拷贝

deepClone(source) {
		if (!source && typeof source !== 'object') {
			throw new Error('error arguments', 'shallowClone')
		}
		const targetObj = source.constructor === Array ? [] : {}
		for (const keys in source) {
			if (source.hasOwnProperty(keys)) {
				if (source[keys] && typeof source[keys] === 'object') {
					targetObj[keys] = source[keys].constructor === Array ? [] : {}
					targetObj[keys] = this.deepClone(source[keys])
				} else {
					targetObj[keys] = source[keys]
				}
			}
		}
		return targetObj
	}

防抖

debounce(fn, delay) {
		let timer;
		return ()=>{
			if(timer){
				clearTimeout(timer)
				timer=null
			}
			timer=setTimeout((...args)=>{
				fn.call(this,args)
			},delay)
		}
	}

日期

//y-m-d
	getDate() {
		const date = new Date();
		let year = date.getFullYear();
		let month = date.getMonth() + 1;
		let day = date.getDate();
		month = month.toString().padStart(2, '0')
		day = day.toString().padStart(2, '0')
		return `${year}-${month}-${day}`;
	}
  //h-m-s
	getTime() {
		const date = new Date();
		let hour = date.getHours().toString().padStart(2, '0');
		let minute = date.getMinutes().toString().padStart(2, '0');
		let second = date.getSeconds().toString().padStart(2, '0');
		return `${hour}:${minute}:${second}`;
	}

判断是否是JSON字符串

	isJSONStr(str){
			try{
				if(JSON.parse(str) instanceof Object){
					return true
				}
			}
			catch(error){
				console.log(error)
				return false
			}
	}

判断空类型

//判断是否是空对象{}
	isEmptyObj(obj) {
    return obj !== null && typeof obj === 'object' && !Array.isArray(obj)&& (Object.keys(obj).length === 0)
  }
	//是否是空数组[]
	isEmptyArr(Arr){
		return Array.isArray(Arr)&&Arr.length===0
	}
	//是否是空,undefined,null,"",{},[]
	isEmpty(value){
		if(!value&&value!==0){
			return true
		}
    else{
			if(Object.prototype.toString.call(value)==="[object Array]"){
				return value.length===0
			}
			if(Object.prototype.toString.call(value)==="[object Object]"){
				return Object.keys(value).length === 0
			}
		}
		return false
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值