创建: 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. CC3200 TI 笔记

    I2C I2C总线是由Philips公司开发的一种简单.双向二线制同步串行总线.它只需要两根线即可在连接于总线上的器件之间传送信息. I2S I2S(Inter-IC Sound)总线, 又称 集成电 ...

  2. xtu summer individual 5 F - Post Office

    Post Office Time Limit: 1000ms Memory Limit: 10000KB This problem will be judged on PKU. Original ID ...

  3. 【HDOJ5713】K个联通块(状压DP,计数)

    题意:有一张无重边的无向图, 求有多少个边集,使得删掉边集里的边后,图里恰好有K个连通块. 1≤T≤201≤K≤N≤140≤M≤N∗(N+1)/21≤a,b≤N 思路:From http://blog ...

  4. Delphi简单的数据操作类

    unit MyClass; uses   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,   VCL ...

  5. codevs——2147 数星星

    2147 数星星  时间限制: 3 s  空间限制: 64000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 小明是一名天文爱好者,他喜欢晚上看星星 ...

  6. Linux下启用IP转发功能(主要针对Ubuntu的使用)

    说明:以下的操作只要在Linux下都是通用的. Linux发行版默认情况下是不开启IP转发功能的.如果架设一个Linux路由或者VPN服务就需要开启该服务. 1.通过访问sysctl的内核ipv4.i ...

  7. spring 拦截器整体配置

    1.spring boot拦截器默认有 HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationIntercepto ...

  8. java文件工具类

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  9. C++之类的比較运算符的重载

    比較运算符的重载通常有两种方式: 第一:作为成员函数重载 曾经几章的Student类为例: <span style="font-family:Microsoft YaHei;font- ...

  10. tornado的http服务器实现

    使用tornado实现的一个简单http服务器:只需要定义自己的处理方法,其他的东西全部交给tornado完成. #coding:utf-8 import tornado.httpserver imp ...