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 相关文章推荐
简单三步,搞掂内存泄漏
Mar 10 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
Mar 08 Javascript
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
Dec 19 Javascript
jquery点击展示与隐藏更多内容
Dec 03 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 Javascript
学习node.js 断言的使用详解
Mar 18 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
Jul 10 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
Vue.js计算机属性computed和methods方法详解
Oct 12 Javascript
vue设置全局访问接口API地址操作
Aug 14 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下几种删除目录的方法总结
2007/08/19 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
python机器学习库常用汇总
2017/11/15 Python
python爬取哈尔滨天气信息
2018/07/14 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
使用Python实现批量ping操作方法
2020/05/06 Python
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
入股协议书
2014/04/14 职场文书
求职简历自荐信
2014/06/18 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
行政主管岗位职责
2015/02/03 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书