为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript数组&类数组转换

标签:
Html5 JavaScript

Standing on Shoulders of Giants;

一、数组

在JavaScript中数组可以容纳任何类型的值,可以是数字、字符串、对象、甚至其他数组(多为数组)

var a = [1,'2',[3]];
a.length;//3
a[0];//1
a[2];//[3]
a[2][0];//3

使用delete运算符可以将单元从数组中删除,但是单元删除后,数组的length属性并不会发生变化

    var a = [1,2,'3'];
    delete a[0];//返回ture
    //此时数组变成[empty,2,'3'];
    a[0];//返回undefined;
    a.length;//3

稀疏数组:含有空白或空缺单元的数组

 var a = [];
 a[0] = 1;
 a[2] = [3];
 a[1];//undefined
 a.length;//3

数组通过数字进行索引,但他们也是对象,所以也可以包含字符串键值和属性(但是并不计算在length数组长度内)

   var a = [];
   a[0] = 1;
   a['foobar'] = 2;
   a.length;//1;
   a.foobar ;//2

类数组(一组通过数字索引的值)

有时需要将类数组转换为真正的数组,一般通过工具函数(indexOf()、concat()、forEach()etc)来实现。
例如: 一些DOM查询操作会返回DOM元素列表,它们并非真正意义上的数组,但十分类似。

工具函数slice()经常被用于这类转换:


function foo(){
    return Array.prototype.slice.call(arguments);
}
foo('bam','baz','bar');//['bam','baz','bar']

ES6中的内置工具函数Array.from()也能实现这个功能

var arr = Array.from(arguments);
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消