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添加到数组最后,可添加多个值,返回数组长度.改变原数 ...
随机推荐
- JPA的泛型DAO设计及使用
使用如Hibernate或者JPA作为持久化的解决方案时,设计一个泛型的DAO抽象父类可以方便各个实体的通用CRUD操作.由于此时大部分实体DAO的CRUD操作基本一样,采用泛型设计解决这个问题,带来 ...
- linux 下串口的配置
串口最基本的设置包括波特率 校验位 和停止位. 主要是设置个结构体的成员值, #include <termios.h> struct termio { unsigned short c_i ...
- HTML块
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 下载APP 2个二维码合并到一个二维码
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- js传带参数的函数
字符串: setTimeout('pageScroll(4)',100);
- Java RMI(远程方法调用)开发
参考 https://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-arch2.html http://www.cnblogs.com/wxi ...
- 压缩代码加速ecshop程序页面加载速度
由于页面有很多图片,页面加载速度有点慢,本来打算减小图片的体积,后来想想这个后期还得测试下,所以暂时不打算使用google的图片优化工具,先把ecshop生成的html代码压缩下吧 压缩前:首页体积为 ...
- C# ADO.NET操作数据库 SqlHelp.cs类
刚开始练习ADONET的时候,练习的一个SQLHelp.cs 数据库操作类,很简单,但是也很实用 using System; using System.Collections.Generic; us ...
- http协议请求规则与dotNet的解析
请求方法URI协议/版本 请求的第一行是"方法URL议/版本":GET/sample.jsp HTTP/1.1 以上代码中"GET"代表请求方法,"/ ...
- handoff了解
iOS8推出一个新特性,叫做Handoff.Handoff中文含义为换手(把接力棒传给下一个人),可以在一台Mac和iOS设备上开始工作,中途将工作交换到另一个Mac或iOS设备中进行.这个在iOS8 ...