javaScript常用到的要领

推断一个对象是不是为空对象,不为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所带来的不确定性



    原文作者:不会飞的Porco
    原文地址: https://segmentfault.com/a/1190000018059030
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞