一.测试数组长度是使用arr.length;(注:使用delete不会修改数组的length属性)

二.数组方法

1.join()

Array.join()方法将数组所有元素都转化为字符串连接在一起,返回生成的字符串。

var arr=[1,2,3];        //创建一个包含三个元素的数组
arr.join(); //=>1,2,3
arr.join(" "); //=>1 2 3
arr,join(""); //=>123
var line=new Array(10);
line.join("-"); //=>----------

  2.reverse()

Array.reverse()方法将数组元素颠倒顺序,返回逆序数组。

var arr=[1,2,3];    ///定义一个数组
a.reverse().join(); //=>3,2,1

  3.sort()

Array.sort()方法将数组排序,返回排序后的数组。

var arr=new Array("banana","cherry","apple");
arr.sort().join(); //apple,banana,cherry;

  如果数组包含undefined元素,他们被拍到数组的尾部。

如果要按照自己的要求进行排序可以给sort()方法传入一个比较函数,该函数决定两个参数在排好序的数组中的先后顺序。

传入比较函数,可以为一个匿名函数,此函数接受两个参数,如果要递增排序,前一个参数应该在前则返回小于0的数字,如果后一个参数应该在前,则返大于0的数字,如果两个数相等,则返回0。

var arr=[33,4,1111,222];
arr.sort(); //1111,222,33,4
arr.sort(funciton (a,b){
return a-b; //4,33,222,1111
});
arr.sort(function (a,b){
return b-a; //1111,222,33,4
})

  4.concat()

Array.concat()方法创建并返回一个新数组,他的元素包括调用concat()的原始数组的元素和concat()的每个参数。如果这些参数中的任何一个自身是数组,则连接的数组的是数组的元素,而非数组本身。

var arr=[1,2,3];
arr.concat(4,5); //1,2,3,4,5;
arr.concat([4,5]); //1,2,3,4,5;
arr.concat([4,5],[6,7]); //1,2,3,4,5,6,7;
arr,concat(4,[5,[6,7]]); //1,2,3,4,5,6,7;

  5.slice()

Array.slice()方法返回指定数组的一个片段或子数组。他的两个参数分别指定了片段开始和结束位置。返回的数组包含第一个参数指定的位置和所有到但不包含第二个参数指定的位置之间的所有数组数据。如果参数为负数,则从数组最后面元素开始计算。

var arr=[1,2,3,4,5];
arr.slice(0,3); //[1,2,3];
arr.slice(3); //[4,5];
arr.slice(1,-1); //[2,3,4];
arr.slice(-3,-2); //[3];

  6.splice()

Array.splice()方法方式在数组中插入或删除元素的通用方法。不同于slice()和concat(),splice()会修改调用的数组。插入或删除元素会根据需要增加或减小他们的索引值,其他部分仍然保持连续。

(1).第一个参数指定了插入或删除的起始位置,第二个参数指定了删除的元素的个数,如果省略第二个参数,则从起始位置到数组末尾都被删除。

var arr=[1,2,3,4,5,6,7,8];
arr.splice(4); //返回[5,6,7,8]; arr=[1,2,3,4];
arr.splice(1,2); //返回[2,3]; arr=[1,4];
arr.splice(1,1); //返回[4]; arr=[1];

  (2).除了前两个参数指定了删除元素外,后面的参数指定了要插入的数组元素。

var arr=[1,2,3,4,5];
arr.splice(2,0,"a","b"); //返回[] arr=[1,2,"a","b",3,4,5];
arr.splice(2,2,[1,2],3); //返回["a","b"];arr=[1,2,[1,2],3,3,4,5];

  7.push()和pop()

push()和pop()方法允许将数组作为堆栈使用,push()方法在数组的尾部添加一个或多个元素并返回新数组的长度,pop()则从堆栈顶取出数组元素;

var stack=[];                            //stack[];
stack.push(1,2); //stack[1,2]; 返回2
stack.pop(); //stack[1]; 返回2
stack.push(3); //stack[1,3]; 返回2
stack.pop(); //stack[1]; 返回3
stack.push([4,5]); //stack[1,[4,5]]; 返回2
stack.pop(); //stack[1]; 返回[4,5]

  8.unshift()和shift()

unshift()和shift()方法的行为与push()和pop()类似,不一样的是unshift()与shift()是从头部操作,而非尾部.

var arr=[];
arr.unshift(1); //arr:[1] ; 返回1
arr.unshift(2); //arr:[2,1]; 返回2
arr.shift(); //arr:[1]; 返回2
arr.unshift(3,[4,5]); //arr:[3,[3,5],1] 返回3
arr.shift(); //arr:[[3,5],1] 返回3
arr.shift(); //arr[1]; 返回[3,5]

  9.toString()和toLocaleString()

toString()方法将数组转化为字符串,字符串之间用","分割,toLocaleString()是toString()的本地化使用本地的分隔符连接字符串。

[1,2,3].toString();                                //生成'1,2,3';
["a","b","c"].toString(); //生成"a,b,c";
[1,[2,3]].toString(); //生成‘1,2,3’

  

javascrip中array使用的更多相关文章

  1. javascrip中array使用(续)

    ECMAScript 5中的数组的方法 Ecmascript5定义了9个新的数组方法遍历,映射,过滤,检测,简化和搜索数组. 1.forEach() Array.orEach()方法从头到尾遍历数组, ...

  2. JavaScrip中 Array.reduce()

    数组的方法 reduce() reduce方法在数组的每一项元素上都会执行回调函数. 语法:array.reduce( callBack [ , init]  ) // 语法arrary.reduce ...

  3. Flex中 Array 的IndexOf 的作用

    Flex中 Array 的IndexOf 的作用 1.说明    indexOf用于在索引中从小到大查找,假设查得到就返回索引值,查不到就返回-1: 2.实例 (1)设计源代码 <?xml ve ...

  4. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  5. Javascript中Array(数组)对象常用的几个方法

    Javascript中Array数组的几个常用方法 pop()  --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice()  --按照下 ...

  6. Javascript 中 Array的 sort()和 compare()方法

    Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字. 我们 ...

  7. JavaScript 中Array数组的几个内置函数

    本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...

  8. Java-杂项: Java中Array和ArrayList区别

    ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...

  9. JavaScript中Array方法总览

    title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...

随机推荐

  1. ECMA5.1中Object.seal()和Object.freeze()的区别

    1  Object.seal(O)的调用 When the seal function is called, the following steps are taken:   If Type(O) i ...

  2. tomcat server.xml配置文件 解析

      把服务拆分出来了.      前几天我也进行了拆分.可是当时服务起不来所以我想会不会有什么设置,使得这个服务在主机中只能启一个.然后我又找了一台服务器,也把代码放了进去.结果仿佛是我料想到的样子, ...

  3. 《APUE》第三章笔记(3)

    文件共享 UNIX系统支持在不同进程中共享打开的文件,首先先用一幅apue的图来介绍一下内核用于I/O文件的数据结构: 如图所见,一个进程都会有一个记录项,记录项中包含有一张打开文件描述符表,每个描述 ...

  4. dom三个事件

    1,页面加载后 window.onload=function(){}; 2,页面(关闭)卸载后触发 window.onunload=function(){}; 3,页面关闭前触发 window.onb ...

  5. css3动画使用技巧之——transform-delay为负值时的应用。

    <html>    <head>        <title>css3动画delay为负值时的效果</title>        <meta ch ...

  6. js stringObject的indexOf方法

    我所写的这个是基本知识的基本知识,为什么我还是要写呢,所谓说好记性不如烂比头,作为一名前端开发人员,太多相似的代码见的又太多,但是又不常见,所以很容易忘记,那我把indexOf原理讲清楚 indexO ...

  7. View和ViewGroup的区别 -- Touch事件处理

    View.java源码: /frameworks/base/core/java/android/view/View.java View.java的 dispatchTouchEvent 方法: 经过一 ...

  8. 以查询方式实现1s定时

    以查询控制器的控制位状态来实现1s定时. #include <reg52.h> sbit LED = P0^; unsigned ; void main () { LED = ; // 点 ...

  9. linux 配置apache+subversion

    http://apr.apache.org/download.cgi http://subversion.tigris.org/servlets/ProjectDocumentList?folderI ...

  10. web2.0最全的国外API应用集合

    web2.0最全的国外API应用集合 原文地址:http://www.buguat.com/post/98.html 2.0时代,越来越多的API被大家广泛应用,如果你还不了解API是何物,请看这里的 ...