javascript - 判断数组对象问题

查看:68
本文介绍了javascript - 判断数组对象问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

var a=[1,3];
console.log(a==[1,3]);

为什么打印会false,百度说判断的引用类型,那这种情况:

if(a==[1,3]){//这里怎么写?
    a=[2,5]
}else{
    a=[1,3]
}

我要怎么判断?

解决方案

引用类型的变量用==或者是===的时候,比较的是它们的引用地址,而非内容。
就你的代码而言,a和后面的[1,3]已经不是同一个对象了,虽然它们内容一样,那也是不相等的。
你要比较数组,那还是自己封装一个函数比较好

Array.prototype.isEqual = function(arr) {
    if(this.length !== arr.length) {
        return(false);
    }
    for(let i = 0; i < this.length; i++) {
        if(this[i] !== arr[i]) {
            return(false);
        }
    }
    return(true);
}

var a = [1,3];
console.log(a.isEqual([1,3]));

这篇关于javascript - 判断数组对象问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆