JavaScript数组知识网络
2016-07-02 01:31
465 查看
JavaScript数据类型
基本数据类型
BooleanNull
Number
String
Symbol
Undefined
对象数据类型Object
Build-in objectArray
Date
RegExp
more...
Array
定义:JavaScript数组是内置的对象之一,它可以用一个变量来存储多个同种类型或不同类型的值。构造方法
var newArr = new Array(values);
var newArr = [values];
判断是否数组
Array.isArray(arr)
arr instance of Array
数据结构
栈(stack) 后进先出(LIFO), 操作:进栈arr.push(element), 出栈arr.pop(element)
队列(queue) 先进先出(FIFO), 操作:入队arr.shift(element), 出队arr.unshift(element)
排序
反序. arr.reverse()
正序. arr.sort(compare). 若是字母,arr.sort()默认按字母表顺序排列; 若是数字数字字符串,可以通过设置compare函数返回值来升序或降序排列。
function compare(a, b) { return a - b; //升序, return b - a 为降序 }
数组连接(concat)
var newArray = currentArray.concat(arr1, arr2);
其中 arr1和arr2可以是字符串或者数组
slice和splice
二者皆有切片功能,即把数据的某部分切下来放到另一个数组里。不同的是slice只是把原数组的内容复制到另一个数组,并不会影响原数组,而splice则会影响原数组。打个比方,slice就像一台扫瞄仪,只扫描信息,不损坏原来信息;而splice像一个影片剪辑,会对剪辑的影片进行剪掉或拼接。两者的最后一个参数都是可选的,slice默认count为currArr.length - index, 而splice默认insertElement为空.
slice用法:var newArr = currArr.slice(index, count) 结果是把currArr从index开始之后的count个元素扫描到newArr;
splice用法:var newArr = currArr.splice(index, count, insertElement) 结果是把currArr从index开始之后count个元素剪掉放到newArr里。
索引
arr.indexOf(element) 从arr[0]开始找出element所在位置
arr.lastIndexOf(element) 从arr[arr.length-1] 开始找出element的位置。
数组遍历
every. var result = currArr.every(function(element, index, array){ return ... }); result类型为Boolean
some. var result = currArr.some(function(element, index, array){ return ... }); result类型为Boolean
map var result = currArr.map(function(element, index, array){ return ... }); result类型为Array
filter var result = currArr.every(function(element, index, array){ return ... }); result类型为Array
forEach 无返回值
归并
reduce 用法 var result = currArr.reduce(pre, curr, index, array){return pre+curr;} 从currArr[0]开始求数组元素之和
reduceRight 用法 var result = currArr.reduceRight(pre, curr, index, array){return pre+curr;} 从currArr[currArr.length - 1]开始求数组元素之和
两者结果相同
相关文章推荐
- Ubuntu系统安装、网络配置、lamp环境搭建
- Volley网络请求框架简析——Android网络请求框架(三)
- (入门篇)轻量级、高性能的HTTP 服务框架——FHmvc
- angular的$http发送post,get请求无法传送参数的问题
- Volley网络请求框架简析——Android网络请求框架(三)
- 六、TCP C/S:Linux connect 超时设置
- HTTP
- android检测网络状态
- NBU 2430 war of energy
- web安全的HTTPS
- 讲给小白——程序、算法、机器学习、深度学习
- http://www.tuicool.com/articles/EjMJNz
- php soap连接https的wsdl报错SOAP-ERROR: Parsing WSDL:Couldn't load from
- QT 线程池 + TCP 小试(一)线程池的简单实现
- https的通信过程详解
- tcp的简单应用
- 简单socket的应用(一)
- TCP连接建立的三次握手理解
- 简单的android http连接
- Win2008 r2 iis7/iis7.5系统下HTTP重定向(301重定向)图文方法