创建: 2018/01/22

更新: 2018/05/20 把此博文加入[javascript]分类, 原来忘记了

废弃: 2019/02/19 重构此篇。原文归入废弃

         增加【废弃中】标签与总体任务

TODO: 拆分内容到各个新博文并将此博文归档为废弃

是Object

 基础(摘自JavaScript 基础)
 传送门  http://www.cnblogs.com/lancgg/p/8281726.html
 生成
符号生成
var sample = [1, 2, 3 ,4];
 注意: 空白等于undefined, 也算长度length
  
var sample = [1, 2, , 4] // 1, 2, undefined, 4
sample.length; //4
 注意: 同一个数组的元素可以容纳任意类型
 构析函数

var 变量名 = new Array(各项元素); //以 ,  隔开

例:
var odd = new Array(1, 3, 5, 7, 9);
var empty = new Array(); // []
var includeBlank = new Array(1, 2, , 4); //[1, 2, , 4]
var various = new Array(1, 'One', {one: 1, two: 2});

只有一个非负整数参数时,表示长度

var sample = new Array(1);
 获取

数组变量[索引]

var array = [1, 2, 3, 4];
array[0]; // 1
array[1]; //2

获取不存在的时返回undefined

 增加与删除元素

增加元素

var a = [];
a[2] = 1; // 直接指定索引添加,索引前不存在的全部是undefined
//在末尾添加用push
a.push(5);// [, , 1, 5]

删除元素

delete(a[3]); //参数是要删除的数组及要删除元素的索引的式子
 length属性  存在的最大索引数+1
 指定数值的话,后面的内容全部删除
 sample = [1, 2, 3, 4]
 sample.length = 2 // [1, 2]
 确认是否存在某元素

hasOwnProperty("...")

参数是数组的索引

var a = [1, 2, 3, , , , 7];
a.hasOwnProperty(1); //true
a.hasOwnProperty(3); //fasle
a.hasOwnProperty(5); //false
a.hasOwnProperty(6); //true
 疏松的数组

包含undefined的数组

undefined也占长度,但是for/in 下是不存在的

确认是否存在某元素 hasOwnProperty()

 数组的方法
   数组是Array对象, 继承Array.prototype的全部属性
 Array.prototype方法一览

 变更类方法

copyWithin(target, begin, end)

ES6

begin~end-1的元素复制到target位置

a = [0, 1, 2, 3, 4, 5, 6];
a.copyWithin(3, 0, 3); // 0 1 2 0 1 2 6

fill(value, begin, end)

 ES6

begin~end-1的元素以value来替换 
 pop()

获取末尾元素并从数组删除

返回被删除元素

 push(data[, data2, ...])

在末尾插入data

返回新数组长度

 reverse()  把数组逆序
 shift()

获取数组开头元素并从数组删除

返回被删除元素

 unshift(data[, data2, ...])

在数组开头增加元素

返回新数组长度

a = [];
a.unshift(1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
 sort([callback])  
 splice(index, howmany[, data, ...])

index:位置

howmany: 删除的数量(<=0时候从位置前面添加data元素, 不指定data就不动)

data: 插入的元素,不指定就是删除

   
   

 访问类方法

   
   
   
   
   
   
   
   
   
   

 遍历类方法

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 多次元数组
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 数组般的对象(Object) 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 ES6的数组与对象的新功能 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

【废弃中】【WIP】JavaScript 数组的更多相关文章

  1. 【废弃中】JavaScript 式与运算符

    创建: 2017/09/25 更新: 2019/01/14 修改标题 [JavaScript 式与运算符] ->  [JavaScript 式与主要Object的方法] 更新: 2019/02/ ...

  2. 【废弃中】JavaScript 内置Object

    创建: 2017/09/24 更新: 2018/01/22 增加window对象内容的链接 更改标题: [JavaScript 主要的自带Object] -> [JavaScript 内置Obj ...

  3. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  4. Asp.net中后台C#数组与前台Javascript数组交互

    摘自:http://blog.csdn.net/a6225301/article/details/20003305 在上一篇<asp.net中javascript与后台c#交互>中实现了前 ...

  5. javascript中的稀疏数组(sparse array)和密集数组

    学习underscore.js数组相关API的时候.遇到了sparse array这个东西,曾经没有接触过. 这里学习下什么是稀疏数组和密集数组. 什么是密集数组呢?在java和C语言中,数组是一片连 ...

  6. [转贴]JavaScript中Array(数组)的属性和方法

    数组有四种定义的方式 使用构造函数:var a = new Array();var b = new Array(8); var c = new Array("first", &qu ...

  7. javascript数组中数字和非数字下标的区别(转)

    http://blog.csdn.net/qq_27461663/article/details/52014911 考完试后闲来无事,想起好多天没写js了,于是打算实践一下最近看到的一些好玩的点子.结 ...

  8. java基础64 JavaScript中的Arrays数组对象和prototype原型属性(网页知识)

    1.Arrays数组对象的创建方式 方式一: var 变量名=new Array(); //创建一个长度为0的数组. 方式二: var 变量名=new Array(长度); //创建一个指定长度的数组 ...

  9. JavaScript数组中的22个常用方法

    数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍. ...

随机推荐

  1. Spring AOP配置简单记录(注解及xml配置方式)

    在了解spring aop中的关键字(如:连接点(JoinPoint).切入点(PointCut).切面(Aspact).织入(Weaving).通知(Advice).目标(Target)等)后进行了 ...

  2. HttpModule用户的验证

    HttpModule是向实现类提供模块初始化和处置事件.当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于H ...

  3. 史上最全Java多线程面试题及答案

    多线程有什么用? 线程和进程的区别是什么? Java实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态? ...

  4. Git 与其他系统 - Git 与 Subversion

    https://git-scm.com/book/zh/v1/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-Git-%E4%B8%8E-Subve ...

  5. BNUOJ 2105 Distance Queries

    Distance Queries Time Limit: 2000ms Memory Limit: 30000KB This problem will be judged on PKU. Origin ...

  6. [codeforces494B]Obsessive String

    [codeforces494B]Obsessive String 试题描述 Hamed has recently found a string t and suddenly became quite ...

  7. 郁闷的出纳员(bzoj 1503)

    Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常 ...

  8. [bzoj2194]快速傅立叶之二_FFT

    快速傅立叶之二 bzoj-2194 题目大意:给定两个长度为$n$的序列$a$和$b$.求$c$序列,其中:$c_i=\sum\limits_{j=i}^{n-1} a_j\times b_{j-i} ...

  9. codevs——1275 有鱼的声音

    1275 有鱼的声音 2012年CCC加拿大高中生信息学奥赛  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解  查看运行结果     题目描述 Des ...

  10. CCCC2017大区赛补完

    L2-2 多项式除法 这题看懂题意就是个模拟 L3-2 周游世界 想法是相邻点连边,然后跑最短路,当最短路相同时候,比较之前经过的换乘数,取最小的作为方案 但是这样只过了2个点……? 网上dalao们 ...