javascrip中array使用
一.测试数组长度是使用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使用的更多相关文章
- javascrip中array使用(续)
ECMAScript 5中的数组的方法 Ecmascript5定义了9个新的数组方法遍历,映射,过滤,检测,简化和搜索数组. 1.forEach() Array.orEach()方法从头到尾遍历数组, ...
- JavaScrip中 Array.reduce()
数组的方法 reduce() reduce方法在数组的每一项元素上都会执行回调函数. 语法:array.reduce( callBack [ , init] ) // 语法arrary.reduce ...
- Flex中 Array 的IndexOf 的作用
Flex中 Array 的IndexOf 的作用 1.说明 indexOf用于在索引中从小到大查找,假设查得到就返回索引值,查不到就返回-1: 2.实例 (1)设计源代码 <?xml ve ...
- JS中Array数组的三大属性用法
原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...
- Javascript中Array(数组)对象常用的几个方法
Javascript中Array数组的几个常用方法 pop() --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice() --按照下 ...
- Javascript 中 Array的 sort()和 compare()方法
Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字. 我们 ...
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- Java-杂项: Java中Array和ArrayList区别
ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...
- JavaScript中Array方法总览
title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...
随机推荐
- 九度OJ 1452 搬寝室 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1452 题目描述: 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3 ...
- Page类成员
1. Request,Response,Server属性:对contex.Request,context.Response,context.Server的简化调用2. AppRelativeVirtu ...
- Linux网络设置高级指南
from:http://www.oschina.net/question/23734_117144 Linux网络设置高级指南 本文面向的是被Linux复杂的有线无线网络架构弄得头昏脑胀:或者被网上半 ...
- shell实现查询oracle数据库表,并写到本地txt文件
1.表结构 create table t_student( id ) primary key, name ), birthday date ); increment ; insert into t_s ...
- 01_安装redhat 7.1时常出现的问题
1. 笔记本安装时出现"dev/boot does not find ",进不去安装界面. 这是因为pci设备的问题,解决方法:在出现安装选项时,按Tab进入option模式,在末 ...
- thinkPHP add、save无法添加、修改不起作用
案例:数据库新添加一字段,修改值不成功.解决方案:将Runtime/Data/_fields/下面的字段缓存删除,或者直接删除整个Runtime文件也是可以的分析:由于Thinkphp,采用字段缓存机 ...
- skymvc文件上传支持多文件上传
skymvc文件上传支持多文件上传 支持单文件.多文件上传 可以设定 文件大小.存储目录.文件类型 //上传的文件目录 $this->upload->uploaddir="att ...
- TDirectory.GetLogicalDrives获取本地逻辑驱动器
使用函数: System.IOUtils.TDirectory.GetLogicalDrives class function GetLogicalDrives: TStringDynArray; s ...
- WPF中嵌入Flash(ActiveX)
1. 建立 WPF Application. 首先,建立一个名为 FlashinWPF 的 WPF Application 2. 设置 Window 属性. 在 XAML 中修改 Window 的属性 ...
- [置顶] Android Journal
==================================================================================================== ...