推断一个对象是不是为空对象,不为null,仅仅是{};能够运用以下要领推断:
if (JSON.stringify(object) === '{}') {
//..
}
//也能够
if (Object.keys(object).length === 0) {
// ..
}
数组去重:
let list = []
[1, 2, 2, 3].forEach(e => {
if (!list.includes(e)) list.push(e)
})
/* 或许 */
let newArr = Array.from(new Set([1, 2, 2, 3]));
console.log(newArr) //[1, 2, 3]
/* set也能够对字符串去重 */
let newString = [...new Set('aabbcc')].join('');
console.log(newString) // abc
/* 多个数组一同去重 */
let arr1 = [1, 2, 3];
let arr2 = [2, 3, 4];
let newArr = Array.from(new Set([...arr1, ...arr2]));
console.log(newArr) // [1, 2, 3, 4]
推断数据类型
let judgeObj = ['a', 100, true, undefined, NaN, {a: 1}, [1], null, function(){}]
judgeObj.forEach(e => {
console.log(Object.prototype.toString.call(e))
})
//效果为:
[object String], [object Number], [object Boolean], [object.Undefined], [object.Number], [object Object], [object Null], [object Function]
//这个要领基础能够一劳永逸的处理typeof instanceof Array.isArray所带来的不确定性