`

shallowEqual

 
阅读更多

shallowEqual比较值相等,或者对象含有相同的属性、且属性值相等。

 

'use strict';

var hasOwnProperty = Object.prototype.hasOwnProperty;

// 比较值相等
function is(x, y) {
  // SameValue algorithm
  if (x === y) {
    // Steps 1-5, 7-10
    // Steps 6.b-6.e: +0 != -0
    // Added the nonzero y check to make Flow happy, but it is redundant
    return x !== 0 || y !== 0 || 1 / x === 1 / y;
  } else {
    // Step 6.a: NaN == NaN
    return x !== x && y !== y;
  }
}

// 比较值相等,或者对象含有相同的键,其属性值相等
function shallowEqual(objA, objB) {
  if (is(objA, objB)) {
    return true;
  }

  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
    return false;
  }

  var keysA = Object.keys(objA);
  var keysB = Object.keys(objB);

  if (keysA.length !== keysB.length) {
    return false;
  }

  for (var i = 0; i < keysA.length; i++) {
    if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
      return false;
    }
  }

  return true;
}

module.exports = shallowEqual;

 

0
0
分享到:
评论

相关推荐

    shallowequal:Like像lodash v3.x isEqualWith,但浅浅等于

    浅等 shallowequal相等类似于lodash的 (v3.10.1),但对于浅(严格)相等。 shallowequal(value, other, [customizer], [thisArg]) 在两个值(即value和other )之间执行浅等式比较,以确定它们是否等效。 如果...

    component-render-mixin:React 的shallowEqual 和自定义shallowEqualProps

    组件渲染混合 React 的shallowEqual 和自定义shallowEqualProps

    js代码-shallow equal

    js代码-shallow equal

    Recompose:用于功能组件和高阶组件的React Utility Belt-开源

    许多React库最终都会一遍又一遍地实现相同的实用程序,例如shallowEqual和getDisplayName。 Recompose为您提供了这些实用程序。 尽管Recompose鼓励尽可能使用功能组件,但它可与常规React组件一起使用。

    VB学生档案管理系统设计与实现.rar

    计算机专业毕业设计VB精品论文资源

    debugpy-1.6.3-cp37-cp37m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于ssm的学生宿舍报修管理系统

    开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我v:19306446185 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! https://img-blog.csdnimg.cn/direct/e73dc0ac8d27434b86d886db5a438c71.jpeg

    cryptography-42.0.1-cp37-abi3-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    sja1300.x86_64.tar.gz

    SQLyong 各个版本,免费下载 SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。

    rwrewrewdfg

    dfgdfg

    基于Vue2的在线租车前台设计源码

    本项目是基于Vue2的在线租车前台设计源码,包含75个文件,其中包括27个Vue文件、20个PNG图像文件、16个JavaScript文件、3个JSON配置文件、3个SCSS样式文件、2个JPG图像文件、1个Gitignore文件、1个Markdown文档、1个ICO图标文件和1个HTML文件。系统专注于提供在线租车功能,支持车辆展示、租赁流程等功能,为用户提供了一个稳定、高效的在线租车平台。

    虚拟机下Ubuntu上网设置_ubuntu虚拟机怎么连接网络-CSDN博客.mhtml

    虚拟机下Ubuntu上网设置_ubuntu虚拟机怎么连接网络-CSDN博客.mhtml

    VB通讯录系统设计与实现(源代码+系统).rar

    计算机专业毕业时间之VB精品论文源代码资源

    labview使用DAQ采集数据时显示设备标识符无效

    当安装好NI-DAQmx后仍然无法运行采集程序,并且显示显示设备标识符无效,则需要添加虚拟采集设备。

    debugpy-1.6.3-cp39-cp39-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    20231108陈震浩《Python程序设计》实验四报告

    20231108陈震浩《Python程序设计》实验四报告

    源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip

    源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip

    grpcio-1.48.0-cp36-cp36m-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    二层独栋别墅钢混结构同一个梦别墅施工图.dwg

    二层独栋别墅钢混结构同一个梦别墅施工图.dwg

    VB校园一卡通管理系统(源代码+系统).rar

    计算机专业毕业时间之VB精品论文源代码资源

Global site tag (gtag.js) - Google Analytics