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 版本自动生成文章摘要
Jul 23 Javascript
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
Mar 08 Javascript
jQuery中children()方法用法实例
Jan 07 Javascript
三种AngularJS中获取数据源的方式
Feb 02 Javascript
解析js如何获取css样式
Dec 11 Javascript
jquery实现倒计时小应用
Sep 19 jQuery
javaScript之split与join的区别(详解)
Nov 08 Javascript
Vue父组件调用子组件事件方法
Feb 23 Javascript
vue自定义指令的创建和使用方法实例分析
Dec 04 Javascript
详解vantUI框架在vue项目中的应用踩坑
Dec 06 Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 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 stream_context_create()作用和用法分析
2011/03/29 PHP
常用PHP框架功能对照表
2014/10/23 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
js获取class的所有元素
2013/03/28 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
python生成日历实例解析
2014/08/21 Python
python多重继承新算法C3介绍
2014/09/28 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
平面设计专业大学生职业规划书
2014/03/12 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技