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 相关文章推荐
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
Aug 27 Javascript
Javascript BOM学习小结(六)
Nov 26 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
基于AngularJS的简单使用详解
Sep 10 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
Jan 31 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
vue实现多条件和模糊搜索功能
May 28 Javascript
简单了解JavaScript中的执行上下文和堆栈
Jun 24 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
python导入模块交叉引用的方法
2019/01/19 Python
python二进制文件的转译详解
2019/07/03 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
岗位廉洁从政承诺书
2014/03/27 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
环卫个人总结
2015/03/03 职场文书
对学校的意见和建议
2015/06/04 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server