js 对象及空对象或数组及空数组的判断与比较

工作中经常会使用到,这里记录一下

判断是不是对象:
let obj = {};
Object.prototype.toString.call(obj) == "[object Object]";  //true

判断是不是数组:
let array = [];
Object.prototype.toString.call(array) == "[object Array]";  //true

判断是不是字符串:
let str = '';
Object.prototype.toString.call(str) == "[object String]";  //true

判断是不是数字:
let num = 1;
Object.prototype.toString.call(num) == "[object Number]";    //true

判断是不是布尔:
let boolean = false;
Object.prototype.toString.call(boolean) == "[object Boolean]";  //true

判断是否有效:
let data;
Object.prototype.toString.call(data) != "[object Null]" && Object.prototype.toString.call(data) != "[object Undefined]";  //false

判断数组是否为空:

let arr = [];

arr.length == 0;  //true

var aa = ['','','','']
aa.join('') === '';//true

 

对象转数组:

let obj = {1: 'a', 2: 'b', 3:'c'}

Object.keys(obj);  //[1, 2, 3]

Object.values(obj);  //['a', 'b', 'c']

 

判断对象是否为空:

let obj = {}

Object.keys(obj).length == 0  //true

var abc = {1:'',2:'',3:''}
Object.values(abc).join('') !== '';//true

比较2个数组是否相等(忽略每项的类型)

let arr1 = ["1",2];

let arr2 = [1,2];

arr1.toString() == arr2.toString();  //true

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值