创建: 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. C语言判断一个数能否被3和5整除

    #include <stdio.h> /* 判断一个数能不能同时被3和5整除 --------soulsjie 20170525----- */ void main(){ int inpu ...

  2. struts面试题及答案【重要】

    1. 简述 Struts2 的工作流程: ①. 请求发送给 StrutsPrepareAndExecuteFilter ②. StrutsPrepareAndExecuteFilter 判定该请求是否 ...

  3. [bzoj1978][BeiJing2010]取数游戏 game_动态规划_质因数分解

    取数游戏 game bzoj-1978 BeiJing-2010 题目大意:给定一个$n$个数的$a$序列,要求取出$k$个数.假设目前取出的数是$a_j$,那么下次取出的$a_k$必须保证:$j&l ...

  4. Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后没有Windows 10的启动菜单解决方法

    背景: 硬盘分区方式:MBR 硬盘容量256,Windows 100,Ubuntu 156,其中主分区安装的是Windows,Ubuntu安装在逻辑分区上,文件系统为Ext4,整个Ubuntu就挂载在 ...

  5. tomcat8.5.20配置https

    一.使用cmd下生成证书: d: cd d:/java/jdk/jdk1.8 keytool -v -genkey -alias tomcat -keyalg RSA -keystore D:\jav ...

  6. 【POJ 3122】 Pie (二分+贪心)

    id=3122">[POJ 3122] Pie 分f个派给n+1(n个朋友和自己)个人 要求每一个人分相同面积 但不能分到超过一个派 即最多把一整个派给某个人 问能平均分的最大面积 二 ...

  7. css的white-space属性导致了空格问题——查看十六进制发现2020变成了c2a0

    今天发现了一个奇怪的问题.从文本编辑器(notepad++)中把一段文本输入到easyui的textbox文本框(textarea)中,不进行不论什么的操作.直接再从文本框中把文本拷贝出来贴到文本编译 ...

  8. 修改mysql root密码

    mysql密码丢失后,在mysql命令行下执行如下命令,即可将root用户密码清空: mysqld_safe --skip-grant-tables& mysql修改密码 mysql修改,可在 ...

  9. ORACLE取周、月、季、年的開始时间和结束时间

     1           取周的開始时间和结束时间 取周的開始时间.以星期一为開始. SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY ...

  10. Node.js创建自签名的HTTPS服务器

    https://cnodejs.org/topic/54745ac22804a0997d38b32d  用Node.js创建自签名的HTTPS服务器  发布于 4 年前  作者 eeandrew  6 ...