Javascript学习笔记之数组的构造函数


Posted in Javascript onNovember 23, 2014

数组的构造函数

由于数组的构造函数在处理参数时的不确定性,因此强烈建议使用 [] 符号来创建一个新数组。

[1, 2, 3]; // Result: [1, 2, 3]
new Array(1, 2, 3); // Result: [1, 2, 3]
[3]; // Result: [3]
new Array(3); // Result: []
new Array('3') // Result: ['3']

当只有一个参数被传递到数组的构造函数中,并且这个参数还是一个数字时,构造函数将会返回一个元素值为 undefined 的数组,而且这个数组的 length 属性被设置为传入构造函数的数字参数。但实际上上新数组的索引并没有被初始化。

Javascript学习笔记之数组的构造函数

这种用法只有在很少数情况下会被使用,比如循环字符串时,这种用法可以避免使用一个循环。

new Array(count + 1).join(stringToRepeat);

总结

综上所述,我们应该尽量使用 [] 来创建新函数,而不是数组的构造函数,这样代码将有更好的可读性。

数据常见操作

因为这篇博文的原文比较短,所以我打算把一些常用的数组操作方法也总结一下:

添加元素

1.push - 将一个或多个新元素添加到数组结尾,并返回数组新长度。

Javascript学习笔记之数组的构造函数

2.unshift - 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。

Javascript学习笔记之数组的构造函数

3.splice - 将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回 []

Javascript学习笔记之数组的构造函数

删除元素

1.pop - 移除最后一个元素并返回该元素值。

Javascript学习笔记之数组的构造函数

2.shift - 移除最前一个元素并返回该元素值,数组中元素自动前移。

Javascript学习笔记之数组的构造函数

3.splice - 删除从指定位置 deletePos 开始的指定数量 deleteCount 的元素,数组形式返回所移除的元素。(注意与添加元素时参数的差异)

Javascript学习笔记之数组的构造函数

其他操作

1.join - 返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 参数隔开。

Javascript学习笔记之数组的构造函数

2.slice - 方法用于返回数组中一个片段或子数组,如果只写一个参数返回参数到数组结束部分,如果参数出现负数,则从数组尾部计数,如果 start 大于 end 返回空数组,slice 不会改变原数组,而是返回一个新的数组。

Javascript学习笔记之数组的构造函数

3.concat - 将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组。

Javascript学习笔记之数组的构造函数

4.reverse - 反转元素(最前的排到最后、最后的排到最前),返回修改后的数组。

Javascript学习笔记之数组的构造函数

5.sort - 对数组元素排序,返回修改后的数组。当没有参数的时候会按字母表升序排序,也可以可以传一个排序方法进去。

Javascript学习笔记之数组的构造函数

Javascript 相关文章推荐
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
js弹出模式对话框,并接收回传值的方法
Mar 12 Javascript
JavaScript面对国际化编程时的一些建议
Jun 24 Javascript
js实现向右横向滑出的二级菜单效果
Aug 27 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 Javascript
jQuery表单对象属性过滤选择器实例详解
Sep 13 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 Javascript
原生Vue 实现右键菜单组件功能
Dec 16 Javascript
js实现自动锁屏功能
Jun 02 Javascript
Javascript学习笔记之数组的遍历和 length 属性
Nov 23 #Javascript
Javascript 赋值机制详解
Nov 23 #Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
Nov 23 #Javascript
Javascript学习笔记之函数篇(五) : 构造函数
Nov 23 #Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 #Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
Nov 23 #Javascript
js实例属性和原型属性示例详解
Nov 23 #Javascript
You might like
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
javascript 对象定义方法 简单易学
2009/03/22 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
python3判断IP地址的方法
2021/03/04 Python
有原因的手表:Flex Watches
2019/03/23 全球购物
自主招生自荐书
2013/11/29 职场文书
2015年安全生产责任书
2015/01/30 职场文书
工作时间证明
2015/06/15 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript