一.测试数组长度是使用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. Scala - error: not found: value SortedMap

    先 IMPORT!!!! scala> import scala.collection._import scala.collection._ scala>  SortedMap(" ...

  2. SSL Programming Tutorial

    SSL Programming Tutorial � Table of Contents [ � Index       This section demonstrates the implement ...

  3. webstorm快捷方式

    刚开始在使用webstrom的时候,不知道快捷方式,感觉自己把webstorm当做记事本使用,真的挺傻的,在朋友的指导下,原来webstorm有快捷方式 一.界面操作 快捷键 说明 ctrl+shif ...

  4. javascript 事件多次绑定和删除

    同一个事件绑定多个事件处理程序(适合自己写)IE: 添加: 对象.attachEvent("on事件名","处理程序/函数名"); 执行顺序从后向前 删除: 对 ...

  5. MVC中Razor视图基本语法(1)

    Razor前面,必须要跟前面的有空隙,即空格(多谢一楼提醒,url里面确实不用空格,如果要在url里面只需要@(ViewBag.),加上括号就好了),之后的必须要连贯,否则加小括号 1,在页面中输出单 ...

  6. jquery中onclick内$(this)指向

    jquery中onclick=”fn”中$(this)所代表的对象 js方法 function qiehuan(){ var src = $(this).attr(“data”); alert($(t ...

  7. How to get Directory size in IsolatedStorage of Windows Phone 8 App

    There is no API to get the total size of a specific directory in the isolated storage. Therefore, th ...

  8. linux下进度条的简单实现

    在实现进度条之前,先学习一下makefile. 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中, makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编 ...

  9. Linux下high CPU分析心得【非原创】

    非原创,搬运至此以作笔记, 原地址:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高ga ...

  10. 【转】mybatis 获取自增id

    转自:http://www.cnblogs.com/rhythmK/p/4047142.html 1.环境: mybatis : 3.2.3 spring-mybatis:  1.2.1 mysql: ...