伪数组(arguments及字符串)转数组的方法 贼简单

本文介绍三种将伪数组转化为真实数组的方法:使用Array.prototype.slice、Array.from()函数及...运算符。这些方法广泛应用于处理arguments对象和字符串,提供数组复制的高效方案。

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

超简单的伪数组转数组的方法, 简单到令人发指! (这里伪数组使用arguments)

1.使用 Array.prototype.slice

 

            Array.prototype.slice.call(arguments)
        

 

slice() 方法返回一个新的数组对象,这一对象是一个由 begin和 end(不包括end)决定的原数组的浅拷贝。原始数组不会被改变。

虽然是浅拷贝, 但是对于arguments的转数组足够了, 因为啥呢?就是因为arguments这个东西一般不会动它。

 

2. 使用Array.from() 函数

Array.from()

该函数是Array的一个方法,官方描述就是伪数组转数组的方法;

 

 Array.from(arrayLike[,mapFn[, thisArg]);

 

使用场景
1: arguments转数组;
Array.from(arguments);

2: 字符串转数组
var str = '123abc';
var arr = Array.from(str);

3: 其他场景

第二个参数是map函数, 可以对每个item进行加工后返回。

3. 使用 ... 运算符

var arr = [...arguments];

该运算符还能在数组的复制场景下使用

// bad
const len = items.length;
const itemsCopy = [];
let i;

for (i = 0; i < len; i += 1) {
  itemsCopy[i] = items[i];
}

// good
const itemsCopy = [...items];

 

(完)

 

转载于:https://www.cnblogs.com/hanguozhi/p/10029908.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值