`
fkyq01
  • 浏览: 37263 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

js判断对象和数组相等

    博客分类:
  • js
J# 
阅读更多


/**
* 对象比较
* @param o1
* @param o2
* @return
*/
function equalObject(o1, o2){
if(typeof o1 != typeof o2)return false;
if(o1 == null || o2 == null)return o1 == o2;
if(typeof o1 == 'object'){
for(var o in o1){
if(typeof o2[o] == 'undefined')return false;
if(!equalObject(o1[o],o2[o]))return false;
}
return true;
 
}else{
return o1 == o2;
}
}

/**
* 数组比较
* @param a1
* @param a2
* @return
*/
function equalArray(a1, a2) {
if (a1.length != a2.length) return false;
for (var i = 0; i < a1.length; i++) {
var j = isContain(a2,a1[i]);
if (j < 0) {
    return false;
    }else{
    a2.splice(j,1);
    }
}

return true;
}

function isContain(_arr,_element) {
for ( var i = 0; i < _arr.length; i++) {
if (_arr[i] == _element) {
return i;
}
}
return -1;
};
分享到:
评论

相关推荐

    js判断数组是否相等的方法

    js判断数组是否相等的方法 两种场景: 1.数组完全相等 2.元素相同顺序不同

    JS判断两个数组或对象是否相同的方法示例

    主要介绍了JS判断两个数组或对象是否相同的方法,结合实例形式分析了javascript针对简单数组与对象进行判断的相关操作技巧,需要的朋友可以参考下

    JavaScript比较两个数组的内容是否相同(推荐)

    目前JavaScript没有内置的操作符判断对象的内容是否相同。 但是惯性思维让人以为数组也是值,是可以比较的。 如果要比较数组是否相等,就只能遍历数组元素比较。 在网上流传很普遍的一种做法是将数组转换成字符串: ...

    JS判断数组里是否有重复元素的方法小结

    主要介绍了JS判断数组里是否有重复元素的方法,结合实例形式分析了javascript针对数组重复元素判断相关的遍历、排序、递归等相关操作技巧,需要的朋友可以参考下

    JS中比较两个Object数组是否相等方法实例

    在js中是不能直接用“==”或者“===”来计算两个数组是否相等的,那么就需要对数组的值进行比较; 二、次解决方案 对于比较两个数组次要的方法有如下几种,为什么说是次要解决方案呢?因为它不能真正称之为对两个...

    js比较两个单独的数组或对象是否相等的实例代码

    本文通过实例代码给大家介绍了js比较两个单独的数组或对象是否相等 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    JavaScript比较两个对象是否相等的方法

    本js代码通过对js对象进行各方面的比较来判断两个对象是否相等 cmp = function( x, y ) { // If both x and y are null or undefined and exactly the same if ( x === y ) { return true; } // If they are not ...

    详解JS取出两个数组中的不同或相同元素

    主要介绍了JS取出两个数组中的不同或相同元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    js判断两个日期是否相等的方法

    //false这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false。这是因为date1、date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较他们的字面量值,而不是单纯的用 == 来...

    JS实现的数组去除重复数据算法小结

    实现思路:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新增该键并放入新数组。 //注意点: 判断 是否为js对象键时,会自动对传入的键执行“toString()”,不同的键可能会被误...

    JS判断两个对象内容是否相等的方法示例

    主要介绍了JS判断两个对象内容是否相等的方法,结合具体实例形式分析了javascript针对字符串、数组及对象的相关判断技巧,需要的朋友可以参考下

    详解JS 比较两个Json对象的值是否相等的实例

    主要介绍了JS 比较两个Json对象的值是否相等的实例,有需要的朋友可以参考一下

    js中判断Object、Array、Function等引用类型对象是否相等

    在迭代中,我们还要注意的是,对象或者数组中的元素可能是一个任意值——除了原始类型值、object、arrray外,这个值还可能是一个方法、一个DOM对象或者window对象,可能你已经注意到了,有部分引用类型是不能进行...

    keephunny#document#js数组去重1

    1 //方法四 借助新数组 通过indexOf方判断当前元素在数组中的索引如果与循环的下标相等则添加到新数组中1 //方法五 利用空对象来记录新数组中已经存储过

    vue实现将一个数组内的相同数据进行合并

    获取服务器传来的数组数据进行,找出其中价格相同的进行数量相加,合并该段数据: /** 先将传来的订单列表进行四舍五入,再将价格相同的订单进行合并 * @param {Object} orderList :要进行操作的订单 */ async ...

    JS中如何比较两个Json对象是否相等实例代码

    在js前端面试过程中,经常会遇到这样的笔试题:JS中如何比较两个Json对象是否相等实例代码,下面小编抽点时间给大家整理下,一起看看吧。 1.先准备三个工具方法,用于判断是否是对象类型,是否是数组,获取对象长度 ...

    javascript学习笔记.docx

    8) 关闭窗口用window.close()方法,窗口关闭后,代表它的Window对象可能还生存,可用closed属性进行判断它是否已经被关闭。 9) 控制窗口几何大小可用moveTo()、moveBy()、resizeTo()、resizeBy()。滚动可用scrollTo...

    JavaScript笔记

    JavaScript:定义行为和动作 (基于对象和事件驱动的客户端脚本语言;也是一种广泛应用于客户端Web开发的脚本语言) 基于对象:网页中的一切元素都是假象!不需要new,即可直接使用 事件驱动:JavaScript的执行都是...

    前端面试宝典V3.0.docx

    12、怎么判断两个对象相等?(必会) 89 13、列举三种强制类型转换和两种隐式类型转换?(必会) 91 14、 JavaScript 中怎么获取当前日期的月份?(必会) 91 15、 什么是类数组(伪数组),如何将其转化为真实的...

    JavaScript中奇葩的假值示例应用

    通常在以下语句结构中需要判断真假 if分支语句 while循环语句 for里的第二个语句 如 代码如下: if (boo) { // do something } while (boo) { // do something } JavaScript中有6个值为“假”,这六个值是 false null...

Global site tag (gtag.js) - Google Analytics