javascript - 判断数组对象问题
本文介绍了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屋!
查看全文