数组 复制 拷贝 相等判断
js 数组的拷贝(不影响原数组),数组相等判断
改变原数组的方法:
- pop();删除尾部的第一个元素并且返回这个元素;
var a = [1,2,3];
var b = a.pop();
console.log(a);//[1,2]
console.log(b);//3
- 类似方法:
push();尾部推入;返回数组长度;
shift();顶部弹出;返回该元素;
unshift();顶部亚入;返回数组长度; - reverse();反转数组;返回反转后的数组;
- splice();常用方法;返回被删除的数组成的数组,可以为[];
- sort();排序;传入一个函数作为参数,可以控制为升序,降序或者随机;(try用来产生随机数);
不改变原数组的方法:
- concat:返回拼接后的数组,不改变原数组;
- forEach;
- map;
- join();返回拼接后的字符串,可以指定间隔;
//attention:
[1,2,3].join('')
//"123"
[1,2,3].join()
//"1,2,3"
- slice(start,end);截取数组,返回截取的部分,不改变原始数组;
- toString();[1,2,3].toString()==[1,2,3].join();
数组相等判断
先说下坑吧:
任意两个数组相等都会返回false;[]=[];//false
怎么办?千万不要逐项去比较,看看上面可用的方法:toString();
转化为字符串一次就比较完了。
方法一:适用 单层 数组嵌套的深拷贝
var ary2 = ary1.concat();
方法二:适用 多层 数组嵌套的深拷贝
var ary2 = JSON.parse(JSON.stringify(ary1));
//此方法适用于Oject的深度拷贝,因为Array属于Oject类型,所以也适用于此处;
//需要注意的是:作为Oject的深度拷贝时,要复制的function会直接消失,所以这个方法只能用在单纯只有数据的对象。
https://www.cnblogs.com/juneling/p/9149969.html
转载来源:http://blog.csdn.net/lance_10030/article/details/75258204?locationNum=1&fps=1
js array 相关资料 http://www.runoob.com/jsref/jsref-obj-array.html
-------------下面才是重点---------------------------------
数组深拷贝汇总:
https://www.cnblogs.com/hao-1234-1234/p/11801333.html
树立目标,保持活力,gogogo!
分类:
转载
标签:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具