创建: 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. Gram-Schmidt向量正交化

    正交:向量的内积为0,即相互垂直. 假如存在向量a,b确定一个平面空间,但是a,b向量并不垂直,如下图. 现在要在该平面内找出2个垂直的向量确定该平面: b和e垂直,接下来求解e: 根据向量计算法则: ...

  2. Qt笔记——连接第三方库&用libZPlay库获取音频文件的艺术家、专辑等信息

    连接第三方库libZPlay 概述 需要.a/.lib ,.h , .dll 三个文件 官网下载 http://libzplay.sourceforge.net/ import .h 链接 .a 放入 ...

  3. UVA 10652 凸包问题

    #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> # ...

  4. KSQL日期字段访问

    日期常量用法 KSQL中用日期常量必须用{ts'" + dateTime.ToString("yyyy-M-d HH:mm:ss") + "'} 正确写法: I ...

  5. 用JQ实现基础的添加,插入,删除功能。

    在eclipse里面运行代码即可,如果您是其他应用,请选择对您有帮助的代码即可,如果有写错或不懂的地方请联系QQ:1633420056,谢谢,祝学习进步 <!DOCTYPE html>&l ...

  6. 前端自动化测试工具--使用karma进行javascript单元测试(转)

    Karma+Jasmine+PhantomJS组合的前端javascript单元测试工具. 1.介绍 Karma是由Google团队开发的一套前端测试运行框架,karma会启动一个web服务器,将js ...

  7. Ubuntu 16.04安装Memcached(单机)

    Ubuntu 16.04安装Memcached,不过不仅限与Ubuntu,可以用CentOS等去安装,只不过测试时使用的是Ubuntu机器.Windows下不建议使用,本机调试可以使用,线上环境除了W ...

  8. 在GNS3下使用Cisco SDM 的教程

    安装步骤: 1..先安装jre-6u17-windows-i586se (最新版的)如图: 点击安装,直到安装完成. © 2.安装SDM2.5中文版SDM-V25 如图 : 出现欢迎安装向导,点击下一 ...

  9. cocos2d-x+lua开发模式下编辑器的选择

    原本打算直接用CocosIDE的,毕竟是官方出品,并且支持Android远程调试,windows下的调试也非常方便,调试的信息也非常全,智能提示也不错.好了,一切看上去非常完美,可是它有一个致命缺陷, ...

  10. 『NSOperation、NSOperationQueue』详解

    1. NSOperation.NSOperationQueue 简介 NSOperation.NSOperationQueue 是苹果提供给我们的一套多线程解决方案.实际上 NSOperation.N ...