一.测试数组长度是使用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. 九度OJ 1201 二叉排序树

    题目地址:http://ac.jobdu.com/problem.php?pid=1201 题目描述: 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历. 输入: 输入第一行包括一个整数n( ...

  2. C# 利用TextBox的Text属性实现换行加字符 "\r\n"

    要让一个TextBox显示多行文本就得把它的Multiline属性设置为true,可是如果你是要把TextBox的Text属性设置多行文本时,换行符由两个字符组成:"\r\n". ...

  3. python 自动化之路 day 03

    内容目录: 1. 字典 2. 集合 3. 文件处理 4. 字符编码   1. 字典操作 字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 语法 ...

  4. Java基础巩固--正则表达式

    本篇文章是学习尚学堂的关于正则表达式的视频教程时,所做的笔记.供广大编程爱好者学习之用,也留给日后自己复习使用! 1.为什么要有正则表达式? 正则表达式可以方便的对数据进行匹配,可以进行更加复杂的字符 ...

  5. Yum安装Memcache

    rpm -qa | grep libevent       yum install libevent -y rpm -qa | grep memcached yum install memcached ...

  6. 【python】aassert 断言

    语法 : assert 3>4 结果Traceback (most recent call last): File "<pyshell#0>", line 1, ...

  7. Django学习笔记(二)——django数据库的使用

    1.模型——SQLite3数据库使用 使用django的数据库必须创建一个app python manage.py startapp check  创建app 此时manage.py的目录下会多一个c ...

  8. 2、.net NVelocity中原生javascript ajax封装使用

    在页面上,我们经常会遇到局部刷新的例子,这个时候,就需要用到ajax, 因为很多代码都是公用的,所以我们想到了,将代码封装,简化了使用,减少了冗余 javascript ajax代码如下: var x ...

  9. PHP5.6.x的新鲜事

    PHP5.6.x的新鲜事 期中考回来,刷刷php.net,发现——又更新了..现在马上来看一下What's New in PHP 5.6.x 内部操作符重载(internal-operator-ove ...

  10. hdu 4749

    题目很简单,不过题意很难看懂. 就是给一个标准的大小关系的队列,从原队列中找出最多的匹配子队列,感觉就像一个KMP算法+贪心: 不过这个题可能数据有点水把,竟然只要判断相邻的关系就可以A掉: 代码: ...