JavaScript内置对象-Array
▓▓▓▓▓▓ 大致介绍
除了Object之外,Array类型恐怕就是JavaScript种最常用的类型了,JavaScript中的数组与其他语言中的数组有很大的区别,例如,数组的每一项可以存放任何值,并且数组的大小事可以动态调整的
▓▓▓▓▓▓ 创建数组的两种方法
创建数组有两种方法:一是用构造函数,二是用对象字面量的方法
构造函数方式
使用Array构造函数
var colors = new Array();
创建一个含有二十项的数组
var colors = new Array(20);
创建一个包含三项的数组
var colors = new Array("pink","black","white");
对象字面量方式
数组字面量由一对包含数组项的方括号表示
var colors = ["red","blue","green"];
▓▓▓▓▓▓ length属性
JavaScript数组中的length是没有上界的,如果用大于当前length值的数字作为下标来储存值,那么数组就会被扩充来容纳这个元素。
var empty = [];
empty.length; //
empty[100] = 'QQQ';
empty.length; //
//[]后置下标运算符把它所包含的表达式转换成一个字符串,如果该表达式有toString方法,就使用该方法的值
empty['100']; //QQQ
如果把length设小将导致所有下标大于等于新length的属性被删除
var numbers = [
'zero','one','two','three','false','12'
];
numbers.length = 2;
console.log(numbers); //["zero", "one"]
▓▓▓▓▓▓ in运算符
检查某个键名是否存在的in运算符,也可以适用于数组
var myArray = [1,'2','name','23e']; 0 in myArray //true
2 in myArray //true
4 in myArray //false
注意:如果某个位置的值为0,也会返回false
var a = [];
a[100] = 1;
a[3] in myArray; //false
▓▓▓▓▓▓ 数组的遍历
数组的遍历通常是用for或者while循环,并不推荐for..in循环
var a = [1, 2, 3]; // for循环
for(var i = 0; i < a.length; i++) {
console.log(a[i]);
} // while循环
var i = 0;
while (i < a.length) {
console.log(a[i]);
i++;
} var l = a.length;
while (l--) {
console.log(a[l]);
}
还有一种遍历方法就是使用forEach(),在后面会讲到
▓▓▓▓▓▓ 数组的空位
当数组的两个逗号之间没有任何值,那么这个数组就有空位
数组的空位是不会影响length属性,并且访问空位会返回undefined,使用delete删除数组元素,会返回空值
var myArray = [1,'2',,,]; console.log(myArray.length); //
console.log(myArray[3]); //undefined
数组的某个位置是空位,与某个位置是undefined
,是不一样的。如果是空位,使用数组的forEach
方法、for...in
结构、以及Object.keys
方法进行遍历,空位都会被跳过
var a = [, , ,]; a.forEach(function (x, i) {
console.log(i + '. ' + x);
})
// 不产生任何输出 for (var i in a) {
console.log(i);
}
// 不产生任何输出 Object.keys(a)
// []
如果某个位置是undefined
,遍历的时候就不会被跳过。
▓▓▓▓▓▓ 数组方法
我的这这篇博客详细的写了有关数组的方法,这里就不在重复http://www.cnblogs.com/qqandfqr/p/5558199.html
参考资料:
阮一峰JavaScript标准参考教程(alpha)-语法-数组
JavaScript语言精粹第六章
JavaScript高级程序设计(第三版)第五章 Array类型
JavaScript内置对象-Array的更多相关文章
- javaScript 内置对象-Array数组
Array 对象方法 方法 描述 concat() 连接两个或更多的数组,并返回结果. join() 把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. pop() 删除并返回数组的最后一 ...
- JavaScript 内置对象 Array 数组
Array 数组 1.创建数组 构造函数 new Array() 小括号内可以是数组元素个数,也可以是数组项 数组字面量表示法 var arr = [1,2,3,4,5]; 2.数组长度 arr.le ...
- JavaScript内置对象Array、String 的方法
Array push() //将一个或多个数据加入到数组的末端,并返回新的数组长度. pop() //取出数组中的最后一项,修改length属性,并返回被删除的数据 shift() //取出数组中的第 ...
- javascript数组的内置对象Array
javascript的内置对象Array是用于构造数组的全局对象,数组是类似于列表的高阶对象. 创建数组的方法: 1通过字面量:var arr = [1,2,3]; 里面的参数直接作为数组里的值 2通 ...
- 17-[JavaScript]- 内置对象 Array,String,Date,Math
1.Array数组 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- javascript 内置对象及常见API
javascript 内置对象及常见API 2012-09-02 15:17 571人阅读 评论(0) 收藏 举报 javascript正则表达式文档浏览器urlstring Javascript内置 ...
- JavaScript进阶 - 第7章 JavaScript内置对象
第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...
- JavaScript高级:JavaScript面向对象,JavaScript内置对象,JavaScript BOM,JavaScript封装
知识点梳理 课堂讲义 1.JavaScript面向对象 1.1.面向对象介绍 在 Java 中我们学习过面向对象,核心思想是万物皆对象. 在 JavaScript 中同样也有面向对象.思想类似. 1. ...
- document和javaScript内置对象
1.Document 属性: referrer //返回载入当前文档的URL URL //返回当前文档的URL 方法: getElementById(); //根据id获取html元素对象 getEl ...
随机推荐
- 1、安卓数据存储机制——sharedPreference
项目中用到的数据存储方式: 1.这个项目里的“个人标签“.”个性签名“页面的文字存储——sharedPreference:我们项目中用到的Preference来保存用户编辑的标签.签名内容,并支持用户 ...
- UnitOfWork实战
企业模式之Unit Of Work模式 在开始UnitOfWork模式之前有必要回顾下我们耳熟能详的Data Access Object(DAO)模式,即数据访问对象.DAO是一种简单的模式,我们构建 ...
- html5 安卓拨打电话 发短信
方法一: <input name=”phone_no” format=”*m” value=”13″/> <do type=”option” label=”呼出号”> < ...
- 《C++ Primer》 chapter 15 TextQuery
<C++ Primer>中第15章为了讲解面向对象编程,举了一个例子:设计一个小程序,能够处理查询给定word在文件中所在行的任务,并且能够处理“非”查询,“或”查询,“与”查询.例如执行 ...
- angularjs---服务(service / factory / provider)
初angularJs时 常写一些不够优雅的代码 !我总结了一下看看各位有没有中枪的!-----( 这里只针对服务service及其相关! ) 以下做法不太优雅 兄弟controller 之间的相同 ...
- Grunt实现自动化单元测试
http://www.tuicool.com/articles/rAnaYvn 直奔主题: 一.安装grunt-contrib-qunit npm install grunt-contrib-qu ...
- PHP mysqli连接MySQL数据库
1. 开启PHP的API支持 (1)首先修改您的php.ini的配置文件.查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll ...
- 在官网下载了最新版的PHP,解压后的安装包里为什么没有php5isapi.dll这个dll文件?
因为自PHP 5.3.1版本开始,PHP便已不在支持ISAPI模式,所以你在PHP5.3.1版本以上的php目录中看不到php5isapi.dll文件. 那么,IIS6下跑PHP 5.3.1以上版本时 ...
- Java策略模式(Strategy模式) 之体验
<JAVA与模式>之策略模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法 ...
- C#如何给PDF文档添加注释
整理文档时,我们可能会需要在一些或一段文字上添加注释加以说明,那如何以编程的方式实现呢?本文将实例讲述C#中如何使用免费组件给PDF文档添加文本注释,包括自由文本注释.自由文本注释能允许我们自定义它的 ...