首先创建数组

     var empty = [];//创建一个空的数组;
var diffType = [1,'a',2.3,{},[4,5],,];//创建一个包含不同类型的数组
var undef = [,,]//创建一个空元素数组,注意这里数组的长度是2,不是3.JavaScript数组允许最后多一个逗号。但是在IE678长度是3.
var instance = new Array();//当然也可以用Array类创建一个数组,效果和[]一样。

读写数组元素

     var b = [1,null,2,,3,undefined,6];//定义一个数组
b[0];//读数组的第一个元素
b[0] = 100;//写数组的第一个元素,数组的下标可以是一个表达式
b[12.34] = 1234;//数组的下标可以不是一个整形数字,此时会将12.34作为一个属性名称,为b定义一个属性
b["12"] = 12;//当数组的下标是一个可以直接转化成整形数字的字符串时,就像当于写b[12] = 12,数组的length就成13了
b["13.00"] = 13;//当不能直接转化成正整数时,依然作为属性名处理
b[14.00] = 14;//可以直接转化成正整数,就相当于b[14] = 14,此时b.length = 15;
    var x = [,,,];//在IE9,10长度为3,IE8极更早的版本长度为4
var y = new Array(3);//注意:数组x, y 是有区别的。x,y都表示定义了一个长度为3的数组,但是x的三个元素值都为undefined,y的三个元素都没有值。但是表现是一样的。
console.log(0 in x);//false
console.log(0 in y);//false

数组的一些方法

push(p1,p2,...)在数组的末端添加元素,可以一次添加多个

pop()移除并返回最后一个数组元素

delete()将数组中的制定元素置为undefined,并不影响length属性。

join(p)将数组转化为字符串,用p分割。注意该方法会将递归内嵌的数组元素,一次调用toString()方法。

 var a = [1,null,[10,12,[23,25]],2,,3,undefined,6];
console.log(a);//[1, null, Array[3], 2, , 3, undefined, 6]
console.log(a.join());//"1,,10,12,23,25,2,,3,,6"
4 console.log(a.join(", "));//"1, , 10,12,23,25, 2, , 3, , 6"

reverse()反转数组

sort(f(a,b))如果没有参数,就按照字符顺序排序。undefined元素会排在最后。f是一个函数,用于定义排序规则。f返回值<=0,a在b前,否则b在a前。

concat()返回组合后的数组,但是并不改变原有数组。调用方法如下

 var b = [1,2,3];
console.log(b.concat(100,101));//[1, 2, 3, 100, 101]
console.log(b.concat([100,101]));//[1, 2, 3, 100, 101]
console.log(b.concat([100,101],[102,103]));//[1, 2, 3, 100, 101, 102, 103]
console.log(b.concat([100,101,[103,104]]));//[1, 2, 3, 100, 101, Array[2]]。并不会改变数组内的数组

slice(startIndex [,endIndex])返回指定区间(左闭右开)的元素。

 var b = [1,2,3,4,5];
console.log(b.slice(0,3));//[1, 2, 3]
console.log(b.slice(3));//[4, 5]
console.log(b.slice(7));//[]
console.log(b.slice(-3,-2));//[3]

splice(startIndex [,lenth,p1,p2,p3,...]返回被截取的元素,原来的数组将被改变。

 var c = [1,2,3,4,5,6,7,8];
console.log(c.splice(4));//[5, 6, 7, 8]
console.log(c.toString());//[1, 2, 3, 4]
console.log(c.splice(3,1,5,6,7,8));//[4]
console.log(c);//[1, 2, 3, 5, 6, 7, 8]

shift()删除数组的第一个元素。

unshift(p1,p2,...)将参数添加在数组的开头。

toString()将数组中的每一个元素调用toString方法。

JavaScript Array 的学习的更多相关文章

  1. javascript Array Methods(学习笔记)

    ECMAScript 5 定义了9个新的数组方法,分别为: 1.forEach();  2.map();  3.filter();  4.every();  5.some();  6.reduce() ...

  2. javascript Array 方法学习

    原生对象Array学习 Array.from()   从类似数组的对象或可迭代的对象返回一个数组 参数列表 arraylike  类似数组的对象或者可以迭代的对象 mapfn(可选)   对对象遍历映 ...

  3. Javascript提升阶段学习

    JavaScript1:javascript简介 JavaScript是一种脚本语言,能实现网页内容的交互显示,当用户在客户端显示该网页时,浏览器就会执行JavaScript程序,用户通过交互的操作来 ...

  4. javascript的ES6学习总结(第二部分)

    1.数组循环 介绍数组循环之前,先回顾一下ES5数组的循环 (1)数组遍历(代替普通的for):arr.forEach(callback(val,index,arr){todo}) //val是数组的 ...

  5. javascript的ES6学习总结(第一部分)

    ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...

  6. 【学习笔记】JavaScript的基础学习

    [学习笔记]JavaScript的基础学习 一 变量 1 变量命名规则 Camel 标记法 首字母是小写的,接下来的字母都以大写字符开头.例如: var myTestValue = 0, mySeco ...

  7. javascript的ES6学习总结(第三部分)

    1.ES6中的面向对象的类 1.1.定义类 在ES5中,我们写一个类,通常是这么写的 function Person(name,age){ this.name = name; this.age = a ...

  8. 7 种 Javascript 常用设计模式学习笔记

    7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...

  9. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...

随机推荐

  1. 64.JPA命名策略【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在(39.2). Spring Boot Shiro权限管理[从零开始学Spring Boot] 这一章节中有人碰到这样一个问题"导入的 ...

  2. POJ-2590-Steps题目详解,思路分析及代码,规律题,重要的是找到规律~~

    Steps Time Limit: 1000MS   Memory Limit: 65536K       http://poj.org/problem?id=2590 Description One ...

  3. HDU1686 计算模式串匹配的次数

    题目大意: 输入一个T,表示有T组测试数据: 每组测试数据包括一个字符串W,T,T长度大于W小于1000000,w长度小于10000,计算W匹配到T中成功的次数: 这题很明显要用KMP算法,不然很容易 ...

  4. 洛谷P2057 善意的投票

    题目描述 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可以投和自己本来 ...

  5. [Vijos] SuperBrother打鼹鼠

    背景 SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊......),于是便无聊地开始玩“打鼹鼠”...... 描述 在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来, ...

  6. Java课堂测试--实现ATM的基本操作体会

    9月20的周四的Java课堂第一节课上就是有关于实现ATM的考试内容,在实现的过程中我了解到自己本身还是有很多的不足之处,例如在实现工程方面的相似性上面还有些许就的欠缺,再者就是回宿舍拿电源的原因导致 ...

  7. 海量数据处理面试题学习zz

    来吧骚年,看看海量数据处理方面的面试题吧. 原文:(Link, 其实引自这里 Link, 而这个又是 Link 的总结) 另外还有一个系列,挺好的:http://blog.csdn.net/v_jul ...

  8. Feign简介

    Feign简介

  9. 转: 将Eclipse代码导入到AndroidStudio的两种方式

    评注: 讲解的非常之详细 转自:    http://www.cnblogs.com/ct2011/p/4183553.html 说到使用AndroidStudio,除了新建的项目,我们都会面临的问题 ...

  10. Duplicate property mapping of contactPhone found in

    启动的时候报Duplicate property mapping of contactPhone found in com....的错误,是因为在建立实体对象的时候,有字段重复了,有的是继承了父类的字 ...