javascript 之 数组
定义:var colors=new Array();
var colors=new Array(3);
var colors=new Array('red');
var colors=['red','green'];
检测数组:
if (value instanceof Array) :假定只有一个全局执行环境。具体是不同框架有不同的定义
Array.isAarry(value): ie9+,firefox4+,safari5+, opera10.5+
数组转换:所有对象都具有toLocaleString(),toString() 和valueOf();
colors.toString();//red,blue,green ,上诉三个方法都是这样调用
与 colors.join(',')效果一致。
栈方法:LIFO(Last-In-First-Out 后进先出) :最新添加的项最早被移除
push():在数组末尾添加该项
pop():在数组末尾移除最后项
队列方法:FIFO(First-In-First-Out先进先出) :在队列的末端添加项,从列表的前端移除项
shift() :移除数组中的第一项
unshift() :在数组前端添加任意个项
排序方法:
values.sort();
values.reverse();
操作方法:
concat():可以基于当前数组中的所有项创建一个新的数组
例:var colors=[red,green]
var colors2=colors.concat(yellow,[black,brown])
alert(colors2.toString()) ;// red,green,yellow,black,brown
最强大的数组方法:splice() 主要用途是向数组的中部插入项
删除:可删除任意数量的项,需指定两个参数:要删除的第一项的位置和要删除的项数
例:splice(0,2)
插入:可向指定的位置插入任意数量的项 ,需提供多个参数:起始位置,插入(删除)多少项,项值(....)
例:splice(2,0,red,green) 从位置2开始插入两项
替换:可向指定的位置插入任意数量的项,且同时删除任意数量的项,需指定三个参数:起始位置,要删除和插入的任意项
例:splice(2,1,red,green),会删除位置2的项,从位置2开始插入两项
位置方法:
indexOf():从数组开头开始向后查找
lastIndexOf():从数组后面开始向前查找
需要注意兼容:ie9+,firefox2+,safari3+等
迭代方法:定义了5个迭代方法
var numbers=[1,2,3,4,5,4,3,2,1]
every():对数组中的每一项运行给定函数,每一项都返回true,则返回true;
例: var everyResult=numbers.every(function( item,index,array){ return (item>2) }) //返回false
some():对数组中的每一项运行给定函数,有一项返回true,则返回true;
例: var someResult=numbers.some(function( item,index,array){ return (item>2) }) //返回true
filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
例:var filterResult=numbers.filter(function( item,index,array){ return (item>2) }) //返回 {3,4,5,4,3}
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
例:var mapResult=numbers.map(function( item,index,array){ return (item*2)}) //返回{2,4,6,8,10.8.6.4.2}
forEach():对数组中的每一项运行给定函数,这个方法没有返回值
例:var numbers.forEach(function(item,index,array){ }) //本质于for循环一样
归并方法:迭代数组的所有项,然后构建一个最终返回的值
reduce():从数组的第一项开始,逐个遍历到最后
reduceRight():从数组的第一项开始,向前遍历到第一项
都接收四个参数:前一个值,当前值,项的索引,和数组对象
例:var values=[1,2,3,4,5]
var sum=values.reduce(function(prev,cur,index,array){ return prev+cur })
分析:第一轮:prev 1,cur 2,第二轮: prev 3,cur 3
javascript 之 数组的更多相关文章
- JavaScript Array数组方法详解
Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表, ...
- JavaScript从数组中删除指定值元素的方法
本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...
- JavaScript中数组操作常用方法
JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...
- javascript常用数组算法总结
1.数组去重 方法1: JavaScript //利用数组的indexOf方法 function unique (arr) { var result = []; for (var i = 0; i & ...
- javascript中数组的22种方法
× 目录 [1]对象继承 [2]数组转换 [3]栈和队列[4]数组排序[5]数组拼接[6]创建数组[7]数组删改[8]数组位置[9]数组归并[10]数组迭代[11]总结 前面的话 数组总共有22种方法 ...
- javascript中数组Array的方法
一.常用方法(push,pop,unshift,shift,join)push pop栈方法,后进先出var a =[1,2,3];console.log(a.push(40)); //4 返回数组的 ...
- 第二章:javascript: 数组
数组是编程世界里最常见的数据结构.任何一种编程语言都包含数组,只是形式稍微有差异.数组是编程语言中的内建类型,通常效率都很高.可以满足不同需求的数据存储,本章将探索javascript中的数组工作原理 ...
- JavaScript操作数组
数组被描述为一个存储元素的线性集合,元素可以通过索引来任意存取. 几乎所有的编程语言都有类似的数据结构,但是Javascript中的数组却略有不同. Javascript中的数组是一种特殊的对象,所以 ...
- Javascript中数组
Javascript中数组 1.什么是数组 所谓的数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存) 2.创建数组的含义 创建数组的目的:就是为了保存更多的数据 3.数组的定义 ...
- JavaScript删除数组重复元素的5个高效算法
之前一段时间一直在准备面试, 因而博客太久没更新: 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题: 去正规的互联网公司笔试.面试有很大的概率会碰到 使用javascript实现数组去 ...
随机推荐
- HTTPS请求
hhtps:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP通道,简单讲是HTTP的安全版,即 ...
- Vue学习记录第一天
今天开始了Vue的学习,下面我就记录一下学习了什么. 1.什么是Vue? vue是一套基于javaScript的渐进式框架,是MVVM框架.View ——ViewModel——Model 其中Vie ...
- btcpool之StratumServer
一.简介 StratumServer(简称sserver)接收JobMaker发送的stratumjob消息,从http api获取用户列表,对外部矿机提供服务. 二.处理stratumjob消息 s ...
- DAX/PowerBI系列 - 查询参数用法详解(Query Parameter)
PowerBI - 查询参数用法详解(Query Parameter) 很多人都不知道查询参数用来干啥,下面总结一下日常项目中常用的几个查询参数的地方.(本人不太欢hardcode的东西) 使用查询 ...
- filter与map函数
·filter()函数filter()函数包括两个参数,分别是function和list.该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表,如下例所示:&g ...
- MATLAB GUI设计(线性卷积和循环卷积的比较--笔记)
原创循环卷积代码,转载需注明出处 线性卷积与循环卷积的比较 实验目的和要求 掌握循环卷积和线性卷积的原理,与理论分析结果比较,加深理解循环卷积与线性卷积之间的关系. 实验内容和步骤 1) 已知两序列X ...
- JDBC事务的相关知识
事务的定义 事务(Transaction):是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,sql server 能将逻辑相关的一组操作绑 ...
- StrictRedis
StrictRedis对象⽅法 通过init创建对象,指定参数host.port与指定的服务器和端⼝连接,host默认为localhost,port默认为6379,db默认为0 sr = Strict ...
- 学习DButils笔记
DBUtills: *********************** 1:创建对象:QueryRunner的对象,其中创建的方式有两种: ①QueryRunner qr = new QueryRunne ...
- JGit 切换分支
//gitDir是git仓库的根目录,这个仓库必须是已clone好了 File file = new File(gitDir); Git git = Git.open(file); //切换分支, i ...