一.数组

稠密数组(非稀疏数组)

稀疏数组

二.数组的添加和删除

我们已经常见过添加数组元素最简单的方法:为新索引赋值;也可以使用push()方法在数组末尾增加一个或者多个元素:

a = [];

a.push("zero");

a.push("one","two");

可以像删除对象属性一样使用delete运算符来删除数组元素;如果从数组中删除一个元素,它就变成稀疏数组;

a = [1,2,3];

delete a[1];

1 in a     //false:数组索引1并未在数组中定义

a.length     //3:delete操作并不会影响数组长度

三.数组遍历

1.for(var i = 0; i < a.length; i++){

  if(!a[i]){

  continue;

  }

}

2.for(var index in sparseArray){

  var value = sparseArray[index];

}

四.数组的方法

1.join():将数组中所有的元素都转化为字符串并连接在一起,返回最后生成的字符串;

var a = [1,2,3];

a.join();  //=>"1,2,3"

a.join("")  //=>"123"

a.join(" ")  //=>"1 2 3"

Array.join()方法是String.split()方法的逆向操作,后者是将字符串分割成若干块来创建一个数组.

2.reverse():将数组中的元素颠倒顺序,返回逆序的数组.

var a = [1,2,3];

a.reverse();  //[3,2,1]

3.sort():将数组中的元素排序并返回排序后的数组.

4.contact():创建并返回一个的数组.

var a = [1,2,3];

a.contact(4,5);  //返回[1,2,3,4,5]

a.contact([4,5]);  //返回[1,2,3,4,5]

a.contact([4,5],[6,7]);  //返回[1,2,3,4,5,6,7]

a.contact(4,[5,[6,7]]);  //返回[1,2,3,4,5,[6,7]]

5.slice():返回的数组包含第一个参数指定的位置和所有到但不含第二个参数指定的位置之间的所有数组元素,不修改数组本身。

var a = [1,2,3,4,5];

a.slice(0,3);  //返回[1,2,3]

a.slice(3);  //返回[4,5]

a.slice(1,-1)  //返回[2,3,4]

a.slice(-3,-2)  //返回[3]

6.splice():是在数组中插入或删除元素的通用方法。不同于slice()和contact(),splice()会修改调用的数组。splice()能够从数组中删除元素、插入元素到数组中或者同事完成着两种操作。第一个参数制定了插入和(或)删除的位置。第二个参数制定了应该从数组中删除的元素的个数。splice()返回一个由删除元素组成的数组。

var a = [1,2,3,4,5,6,7,8];

a.splice(4);  //返回[5,6,7,8];a是[1,2,3,4]

a.splice(1,2);  //返回[2,3];a是[1,4]

a.splice(1,1);  //返回[4],a是[1]

splice()的前两个参数指定了需要删除的元素。紧随其后的任意个数的参数制定了需要插入到数组中的元素,从第一个参数指定的位置开始插入。

var a = [1,2,3,4,5];

a.splice(2,0,'a','b');  //返回[],a是[1,2,'a','b',3,4,5]

a.splice(2,2,[1,2],3);  //返回['a','b'],a是[1,2,[1,2],3,3,4,5]

7.push()和pop()

8.unshift()和shift()

9.toString()和toLocaleString()

10.indexOf()和lastIndexOf():搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没有找到就会返回-1.indexOf从头到尾搜索,而lastIndexOf则反向搜索.

js 数组(Array)的更多相关文章

  1. JS数组array常用方法

    JS数组array常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的 ...

  2. 【转】 js数组 Array 交集 并集 差集 去重

    原文:http://blog.csdn.net/ma_jiang/article/details/52672762 最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上, ...

  3. [学习笔记]JS 数组Array push相关问题

    前言: 今天用写了一个二维数组,都赋值为零,然后更新其中一个值,结果和预期是不一样,会整列的相同位置都是同一个值. 1.用Chrome的控制台样例如下: arrs[2][2] =1的赋值,竟然是三个数 ...

  4. js — 数组Array

    目录 1. isArray 2. 转换方法 3. 分割字符串 join 4. 栈方法 5. 队列方法 6. 重排序方法 7. 操作方法 8. 位置方法 - 索引 9. 迭代方法 数组 array 解释 ...

  5. JS数组 Array

    1.创建数组 var array=new Array(); 2.添加数组 array.push("111"); array.push("111"); array ...

  6. JS数组(Array)处理函数总结

    1.concat() 连接两个或更多的数组该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.例如: <script type="text/javascript"&g ...

  7. JS 数组array方法push, pop, unshift, shift, slice,splice,contact, join, sort

    Array:数组对象用来在单独的变量名中存储一系列的值   定义数组:         1. var arrayObj = new Array();         2. var arrayObj = ...

  8. js数组Array方法

    1. indexOf indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. var fruits = ["Banana", "Orange& ...

  9. 「面试指南」JS数组Array常用算法,Array算法的一般解答思路

    先看一道面试题 在 LeetCode 中有这么一道简单的数组算法题: // 给定一个整数数组 nums 和一个目标值 target, // 请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下 ...

随机推荐

  1. 对于大一学习计算机的新手(c/c++ )提出一些学习经验

    对于刚刚上大一的新手,且是那种十分有上进的学生,在学习计算机的过程中必然会有一大堆的困惑,比如: 1 .如何学好编程(这与以往的应试教育完全不同,按照以往的那种学习方式,看书刷题不过是成为一个考试学霸 ...

  2. 网页(HTML)中的特殊字符

    网页(HTML)中的特殊字符 (1)一般来说,在HTML中,一个特殊字符有两种表达方式,一种称作数字参考,一种称作实体参考. 所谓数字参考,就是用数字来表示文档中的特殊字符,通常由前缀“&#” ...

  3. XPath的基本使用

    XPath XPath 使用路径表达式来选取 XML 文档中的节点或节点集. 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点. /bookstore 选取根元素 bo ...

  4. Android缓存学习入门(二)

    本文主要包括以下内容 内存缓存策略 文件缓存策略 内存缓存策略 当有一个图片要去从网络下载的时候,我们并不会直接去从网络下载,因为在这个时代,用户的流量是宝贵的,耗流量的应用是不会得到用户的青睐的.那 ...

  5. js 倒计时点击和当前时间

    <input id="btn" type="submit" value="确定" disabled="disabled&qu ...

  6. phpcms 标签

    都说pc标签{pc:content参数名="参数值"参数名="参数值"参数名="参数值"} 但是 参数名对应的具体参数值有那些,菜鸟就不知道 ...

  7. php 复习

    <?php 一.php基础语法1.输出语句:echo print print_r var_dump() 2.php是弱类型语言强制转换类型: (类型)变量 settype(变量,类型) 3.变量 ...

  8. Jquery学习笔记--性能优化建议

    一.选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. 1 $('#content').hide(); 或 ...

  9. 【翻译二十三】java-并发程序之随机数和参考资料与问题(本系列完)

    Concurrent Random Numbers In JDK 7, java.util.concurrent includes a convenience class, ThreadLocalRa ...

  10. hdu 4026 2011上海赛区网络赛F TSP ****

    没看过TSP,先mark //4838039 2011-10-27 23:04:15 Accepted 4026 2343MS 31044K 3143 B C++ Geners //状态压缩DP的TS ...