deepClone deepCompare

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、深度复制

// 深度复制
function deepClone(datas) {
if (typeof datas !== 'object' || datas === null) return datas;
const newData = new datas.constructor();
for (const key in datas) {
if (Object.hasOwnProperty.call(datas, key)) {
newData[key] = deepClone(datas[key]);
}
}
return newData;
} const datas = {
family: {
father: 'baba',
mother: 'mama',
children: ['brother', 'sister'],
},
mine: {
name: 'shangyy',
hobby: ['basketball', 'football'],
},
}; const cloneDatas = deepClone(datas);
console.log(cloneDatas);

二、深度比较

// 深度比较

function deepCompare(a, b) {
if (a === null || typeof a !== 'object' || a === null || typeof a !== 'object') {
return a === b;
}
const propsA = Object.getOwnPropertyDescriptors(a);
const propsB = Object.getOwnPropertyDescriptors(b);
if (Object.keys(propsA).length !== Object.keys(propsB).length) return false;
return Object.keys(propsA).every(key => deepCompare(a[key], b[key]));
} const dataA = {
name: 'shangyy',
age: 18,
};
const dataB = {
name: 'shangy',
age: 18,
}; const result = deepCompare(dataA, dataB);
console.log(result);
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“deepClone deepCompare” 的相关文章

Java单例模式中的饿汉和懒汉模式怎么实现 - 开发技术

今天小编给大家分享一下Java单例模式中的饿汉和懒汉模式怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是单例模式保证某个类在程序中只存在一份...

置顶汇总:OpenGL图形学、Shader进阶、Android-RTC视频处理、学术讨论群。

写博客缘于自己对学习的文字积累,也方便温故而知新。多年内也认识很多互相学习的同学。特开此篇置顶汇总相关的博客,并成立学术讨论群方便同学们互相学习。 OpenGL.ES在Android上的简单实践系列:基础入门,和网上的纯理论教程不一样&#...

shutdown函数

#include<sys/socket.h> int shutdown(int sockfd,int howto); 它比close少了2个限制: 1.close把描述符的引用计数减1,仅在该计数变为0时才关闭套接字.使用shutdown可以不管...

php如何判断电脑端和手机端跳转 - 编程语言

这篇文章主要讲解了“php如何判断电脑端和手机端跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何判断电脑端和手机端跳转”吧! 首先,我们需要了解一些基础知识,当前用户是在电脑端还...

字符串生成xml文件

/** * 字符串,生成xml文件 * @param str * @param fileName * @throws IOException */ public void strChangeXML(String str,String fileName ) throws IOExcepti...

图像处理---LoMo

所谓Lomo效果无非就是四角变暗,然后加上颜色矩阵变换。以下是通过c代码实现的Lomo效果,效果有待优化:/** LOMO效果 */ jintArray ToLOMO(JNIEnv *env, jobject obj, jintArray srcPixels, jint width,...