工具代码
概要
提示:提供一些工具性代码方法
技术细节
1. 从数组中删除指定的元素
javascript
/**
* @description 作用是从数组中删除指定的元素
* @param {Array} arr 要操作的数组
* @param {*} el 要删除的元素
*/
const remove = (arr, el) => {
const i = arr.indexOf(el)
if (i > -1) {
arr.splice(i, 1)
}
}
2. 判断对象属性存在不存在
javascript
const a = {}
// #方式一:布尔判定
if(obj.a) {
console.log('存在')
} else {
// 如果:
// const a = {
// a: undefined,
// a: 0,
// a: '',
// }
console.log('不存在')
}
// #方式二:对比undefined
if(obj.a !== undefined) {
console.log('存在')
} else {
// 如果:
// const a = {
// a: undefined,
// a: 0,
// a: '',
// }
console.log('不存在')
}
// #方式三:使用Object.keys
if(Object.keys(obj).includes('a')) {
// 拿到的是对象自有的可枚举属性:原型链的属性拿不到
console.log('存在')
} else {
console.log('不存在')
}
// #方式四:使用hasOwnProperty
if(obj.hasOwnProperty('a')) {
// 拿到的是对象自有的属性:原型链的属性拿不到
console.log('存在')
} else {
console.log('不存在')
}
// #方式五:使用in
if('a' in obj) {
// 不要求可枚举和自有属性,原型上也行
console.log('存在')
} else {
console.log('不存在')
}