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 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
JavaScript中出现乱码的处理心得
Dec 24 Javascript
JS 打印功能代码可实现打印预览、打印设置等
Oct 31 Javascript
使用jQuery判断浏览器滚动条位置的方法
May 30 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 Javascript
纯JS单页面赛车游戏制作代码分享
Mar 03 Javascript
用js屏蔽被http劫持的浮动广告实现方法
Aug 10 Javascript
vue中axios的封装问题(简易版拦截,get,post)
Jun 15 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
Aug 07 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 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大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
DOM 基本方法
2009/07/18 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
JavaScript之生成器_动力节点Java学院整理
2017/06/30 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
新手如何快速理解js异步编程
2019/06/24 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
一个C/C++编程面试题
2013/11/10 面试题
优秀实习自我鉴定
2013/12/04 职场文书
门卫班长岗位职责
2013/12/15 职场文书
怎样客观的做好自我评价
2013/12/28 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS