利用递归实现,多维数组和对象的深拷贝,深去重

本文介绍了如何使用递归方法来实现多维数组和对象的深拷贝以及深去重。通过示例代码展示了针对数组的不同去重策略,包括Set、filter和遍历的方式。同时,探讨了对象的深拷贝问题,提供了两种深拷贝实现,确保修改副本不会影响原对象。最后,给出了一个复杂示例,展示如何处理包含嵌套数组和对象的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用递归实现,多维数组和对象的深拷贝,深去重

//一一一数组去重------------------------------------
// let a=[‘apple’,‘banana’,‘banana’,’’,‘orange’];
//第一种:Array.form(new Set())
// let b=Array.from(new Set(a));
//第二种:数组.filter((element元素,索引index,数组)=>{
// return 数组.indexOf(元素)==index}),filter过滤
// let b=a.filter((Element,index,self)=>{
// return self.indexOf(Element)index;
// })
// console.log(b)
//第三.遍历,深层去重-----------------------
// let a1=[‘aa’,‘bb’,‘bb’,11,[‘cc’,‘aa’,‘cc’,‘aa’],{aa:‘liu’,aa:‘li’,bb:‘fef’,bb:‘feww’,cc:‘22’}];
// let a2=Array.from(new Set(a1));
// console.log(a2);
// Dupre=(obj)=>{//逻辑:对象-》数组/对象-》值,直到筛选为值为止。
// var temp=[]; //保留唯一值
// var lo=obj.length;
// for(var i=0;i<lo;i++){//遍历obj
// var x=obj[i]; //x为obj内的一项
// if

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值