将一个类数组对象转化为数组的几种方法
1.slice
语法:slice(begin,end) 方法选择一个从开始到结束(不包括结束)的数组的一部分浅拷贝到一个新的数组对象,方法不会改变原数组。如果是对象则拷贝对象的引用到新数组,如果是基本类型则会拷贝这些值到新数组。
如果省略begin则会从0开始。如果end被省略则会抽取到最后一个元素,如果end数值大于数组长度则会抽取到最后一个元素。
使用Array.prototype.slice.call(arguments)可以将类数组转化为数组对象,[].slice.call(arguments)亦可
1 function list(){ 2 return Array.prototype.slice.call(arguments); 3 } 4 5 var list=list(1,2,3);//[1,2,3]
2.splice
语法:splice(start)
splice(start,deleteCount)
splice(start,deleteCount,item1,item2......)
返回一个包含被删除元素的数组,start是必须值,其他是可选值,item表示要添加的元素,splice方法会直接对数组进行修改。
Array.prototype.splice.call(arguments,0);
3.Es6 Array.from
语法:Array.from(arguments)
4.Array.prototype.concat.apply([],arguments
)
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
· 当加密ID需要变成Guid:为什么我选择了AES-CBC而非GCM?
· 基于 epoll 的协程调度器——零基础深入浅出 C++20 协程
· 下划线字段在golang结构体中的应用
· SQL Server也能玩正则表达式?
· CUDA 编程初探
· 家里有密码锁的注意了,这真不是 BUG,是 feature。
· C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
· 直击痛点的开源项目「GitHub 热点速览」
· C# 13 与 .NET 9 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)
· 记一次 .NET 某自动化智能制造软件 卡死分析