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 相关文章推荐
使用jQuery轻松实现Ajax的实例代码
Aug 16 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
Oct 21 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
使用JS获取当前地理位置方法汇总
Dec 18 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
利用jquery获取select下拉框的值
Nov 23 Javascript
jQuery tip提示插件(实例分享)
Apr 28 jQuery
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
《javascript少儿编程》location术语总结
May 27 Javascript
vue使用中的内存泄漏【推荐】
Jul 10 Javascript
Nuxt.js实战和配置详解
Aug 05 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
生成静态页面的PHP类
2006/11/25 PHP
深入php多态的实现详解
2013/06/09 PHP
php错误级别的设置方法
2013/06/17 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
Js的MessageBox
2006/12/03 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
Python文件路径名的操作方法
2019/10/30 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
会计毕业生求职简历的自我评价
2013/10/20 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
导游词开场白
2015/01/31 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
走进毛泽东观后感
2015/06/04 职场文书
车间班组长竞聘书
2015/09/15 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang