一、创建

//最简单的方法就是使用数组直接量
var empty=[];
var primes=[2,3,4,5,6];
var misc=[1.1,true,"a"];//数组直接量的值也可以是表达式
var table=[base,base+1,base+2,base+3];//也可以包含对象或者其他数组
var b=[[1,{x:1,y:2}],[2,{x:3,y:4}]];//未定义的元素可以通过忽略逗号直接的元素值来创建
var count=[1,,3];
var undefs=[,,];//创建数组的另一种方法是使用 Array() 构造函数
//无参数调用
var a= new Array{};//显式指定数组前n个元素的值
var a=new Array(5,4,3,2,1,"testing testing");//传递一个数字参数,指定了数组的长度
var a=new Array(10);

二、遍历数组

//常用方式
var fruits=["mango","banana","cherry","pear"];
for(var i=0;i<fruits.length;i++)
{alert(fruits[i]);
}//如果有未定义的元素,则需要验证下
for(var i=0;i<fruits.length;i++)
{if(fruits[i]) alert(fruits[i]);
}//可以使用同样的方法来初始化Array()
var lookup_table=new Array(1024);
for(var i=0;i<lookup_table.length;i++)
{lookup_table[i]=i*512;
}

三、数组方法

//join()方法
//把数组中的所有元素都转换成字符串
var a=[1,2,3];
var s=a.join(); //s=="1,2,3"//指定分隔符
s=a.join("|");  //s=="1|2|3"//reverse()方法
//颠倒数组元素的顺序
var a=new Array(1,2,3);
a.reverse();//sort()方法
//对数组元素进行排序,返回排序后的数组
var a=new Array["banana","cherry","apple"];
a.sort();
var s=a.join(",");  //s=="apple,banana,cherry"//如果要要按别的顺序排序,必须将一个比较函数作为参数传递,如果第一个参数应该位于第二个参数钱,则返回一个小于0的数,后则返回大于0的数,相等返回0
var a=[33,4,111,222];
a.sort();
a.sort(function(a,b){return a-b;
}
);//concat()方法
//创建并返回一个数组,包含了调用方法的原数组的元素,同时将包含的参数添加到返回的数组中,但不能递归地展开数组
var a=[1,2,3];
a.concat(4,5);  //returns [1,2,3,4,5]
a.concat([4,5]);    //returns [1,2,3,4,5]
a.concat([4,5],[6,7]);  //returns [1,2,3,4,5,6,7]
a.concat(4,[5,[6,7]]);  //returns [1,2,3,4,5,[6,7]]//slice() 方法
//返回的是指定数组的一个片段,两个参数指定了要返回的片段的起止点
var a=[1,2,3,4,5];
a.slice(0,3); //returns [1,2,3]
a.slice(3); //returns [4,5]
a.slice(1,-1);  //returns [2,3,4]
a.slice(-3,-2); //returns [3]//splice()方法
//第一个参数指定要插入或删除的元素在数组中的位置,第二个参数指定了要从数组中删除的元素的个数,如果第二个参数省略了,那么将删除从开始元素导数组结尾处的所有元素var a-[1,2,3,4,5,6,7,8];
a.splice(4);    //returns [5,6,7,8]; a is[1,2,3,4]
a.splice(1,2);      //returns[2,3];a is[1,4]
a.splice(1,1);      //returns[4]; a is[1]//后面的参数指定的是从第一个参数位置插入的元素
var a=[1,2,3,4,5];
a.splice(2,0,'a','b');  //returns []; a is[1,2,'a','b',3,4,5]
a.splice(2,2,[1,2],3);  //returns ['a','b'] ; a is [1,2,[1,2],3,3,4,5]//push()将一个或多个新元素附加到数组的尾部,返回数组的新长度
//pop() 删除一个或多个元素,返回删除的值
var stack=[];
stack.push(1,2);    //stack:[1,2] returns 2
stack.pop();    //stack:[1];returns 2

四、类似数组的对象

//给一个常规的对象添加属性使其成为一个类似数组的对象,然后遍历所得的伪数组的“元素”
var a={};
var i=0;
while(i<10){a[i]=i*i;i++;
}
a.length=i;var total=0;
for(var j=0;j<a.length;j++){totl+=a[j];
}

转载于:https://www.cnblogs.com/java20130725/archive/2012/07/25/3215419.html

(10)JavaScript学习笔记 - 数组相关推荐

  1. 19.JavaScript学习笔记——数组

    数组 文章目录 数组 1. 数组定义 1.1 数组字面量 1.2 Array构造函数 1.3 关于数组空位 1.4 ES6新增创建数组的静态方法(了解) 2. 数组的读和写 3. 数组的常用方法(基于 ...

  2. 10. JavaScript学习笔记——JSON

    10. JSON ///[JSON是一种数据格式,不是JS 独有的] ///[JSON语法] /* 1.数据书写格式:"name":value,JSON要求给属性名加上[双引号], ...

  3. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  4. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. JavaScript学习笔记(六)--数组

    数组初始化 我们都知道,数组是用于保存多个值的集合,在数组中,值被称为元素,值可以是任意的数据类型.在Javascript中,创建数组通常有两种方式:字面量和构造函数. 字面量 数组的元素可以是任意的 ...

  6. JavaScript 学习笔记(1)

    1.     何为 Jscript JScript 是一种解释型的.基于对象的脚本语言. 局限性: 1)        不能使用该语言来编写独立运行的应用程序 2)        没有对读写文件的内置 ...

  7. JavaScript学习笔记(三)---事件、正则表达式、ES6、运动

    JavaScript学习笔记(三)---事件.正则表达式.ES6.运动 27.insertbefore 28.滚动条及事件 29.事件及事件对象 30.鼠标事件对象的属性 31.案例:图片随鼠标移动 ...

  8. JavaScript 学习笔记(第三天)

    JavaScript 学习笔记(第三天) 一.数组 1.1.数组的基础 1.2.数据类型分类 1.3.创建数组 1.3.1.字面量创建一个数组 1.3.2.内置构造函数创建数组 1.4.数组的基本操作 ...

  9. JavaScript学习笔记之入门篇

    JavaScript学习笔记之入门篇 JavaScript引入 1. 页面级 js: 2. 外部js文件: JavaScript变量 1. 变量的作用: 2. 声明变量: 3. 变量赋值: 4. 单一 ...

最新文章

  1. 【Python】趣学Python变量和赋值:大师兄和二师兄教的好~
  2. 云效产品体验征文——说出你和云效的故事
  3. 在拉取和推送都存在,冲突时,用命令行解决
  4. Apollo 10 — adminService 全量发布
  5. 如何在UI设计中制作完美阴影
  6. NoSql理解+传统关系型数据库ACID+Nosql的CAP+BASE的理解
  7. 金融数据分析之pdfplumber提取年报PDF关键数据(其他PDF数据通用)
  8. 【图文并茂】通过实例理解word2vec之Skip-gram
  9. 【转】Java 学习杂谈(二)
  10. 数值分析期末复习(解线性和非线性方程组)
  11. 高校GIS房地产管理系统
  12. 随机一个淘宝买家秀网站源码
  13. Ajax案例:简易的购书网页
  14. yylabel html不显示图片,YYLabel富文本
  15. STM32F103RCT6实验代码之ADS1115的使用
  16. JavaScript随手笔记之--html拼接语句传递json数据
  17. 英语单词记忆方法20种
  18. 你离大厂前端工作,升职加薪有时就差一点算法,今天全部教给你!
  19. linux环境下GXL软件的安装
  20. Dagger2使用解析

热门文章

  1. Python函数和参数
  2. passwd命令修改密码_Linux passwd命令–更改用户密码
  3. Objective-C中的NSNumber和NSString
  4. guice依赖注入原理_Google Guice依赖注入示例教程
  5. C++正则表达式创建匿名函数
  6. VSCode调试Python时终端输出中文乱码解决方法1
  7. C#重载操作符==和!=时注意问题
  8. 高薪Java开发工程师需要掌握哪些技能?
  9. (免费领取Java面试题)Java面试中经常被问到的问题
  10. Html中文字过多,单行超出和多行超出显示省略号