javascript 常用的数组操作
join()
Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为“,”)。
与之相反的一个方法是:String.splict() ,将字符串分隔成若干块来创建一个新的数组。
reverse()
Array.reverse(),颠倒数组元素的顺序,返回逆向的数组.注意此方法会修改原来数组元素的位置,而不是返回一个新的数组.
sort()
sort() 方法将数组中的元素排序并返回排序后的数组。sort()方法默认是按照字母表顺序进行排序的,如果想自定义排序的方式,可以传入一个比较大小的函数作为参数,如下所示:
var a = [4,2,8,6];a.sort(function(a,b){return a-b;});console.log(a);在此说明一下比较大小函数的使用:这个函数决定了元素的先后位置。假设第一个参数应该在在前,比较函数应该返回一个小于 0 的值,反之,则返回一个大于 0 的值。
concat()
concat() 方法创建并返回一个数组,返回的数组包含了原始数组里的元素和concat()里各个参数。注意concat()是否返回一个新的数组,而不会修改原来的数组。
slice()
slice(start,/* optional */ end) 方法返回指定数组的子数组。此方法有两个参数,第一个参数指定了开始的位置,第二个参数指定结束的位置,返回的元素索引范围[start,end)。如果不指定 end,表示返回从 start 到 数组结尾的所有元素。
splice()
splice()方法在数组里插入或删除元素。插入或删除元素时,原有元素的索引会根据需要增加或减少。splice() 方法的第一个参数指定了插入或删除的位置,第二个参数指定了删除元素的个数,之后的不定个参数为添加到数组里的元素。
var a = [1,2,8,6];a.splice(1,3); //删除元素console.log(a); //[1]a.splice(1,0,2,3,4,5,6); //往数组里插入元素 2,3,4,5,6console.log(a); //[1,2,3,4,5,6]如果要删除数组里某个指定元素,可以这样做:var a = [1,2,8,6];function remove(a,x){for(var i=0,len=a.length;i<len;i++){if (a[i] == x) {a.splice(i,1);return a;}}return a;}console.log(remove(a,2));
push() and pop()
push()方法在数组的结尾添加一个或多个元素,并返回数组新的长度。pop() 方法则相反,它删除数组里最后一个元素,减少数组的长度并并返回该删除的元素。
unshift() and shift()
unshift() 和 shift() 与 push() 和 pop() 方法类似,不同的是,unshift() 是在数组的头部插入一个或多个的元素,并返回数组新的长度。shift() 方法删除数组的第一个元素并将其返回。
以下是在 ECMAScript 5 中新定义了的 9 个操作数组方法: 其功能包括遍历、映射、过滤、检测、简化和搜索数组。
在讲解这些方法之前,有必要知道一些 ECMAScript 5 关于数组方法的介绍。首先,多数方法的第一个参数都一个函数,并且会每一个数组元素调用一次该函数。同时该函数可以使用一下三个参数:数组的元素(element),元素的索引(index),和数组本身(array)。通常我们只会用到第一个参数,而忽略其他两个参数。
遍历 .forEach(function(element,index,array))
forEach()方法从头到尾遍历一次数组元素,为每个函数调用指定函数。举例如下:
var a = [1,2,8,6];var sum = 0;a.forEach(function(element){sum += element;});console.log("数组求和 " + sum);
映射 .map(function(element,index,array))
map() 方法的使用方式和forEach() 方法使用类似,不同的是 map()方法会返回一个新的数组。举例如下:
var a = [1,2,8,6];var b = a.map(function(element){return element + 1;});console.log(b); //[2,3,9,7]
过滤 .filter(function(element,index,array))
filter() 方法放回调用数组的一个子数组,其过滤作用。举例如下:
var a = [1,2,8,6];var b = a.filter(function(element){return element > 3;});console.log(b); //[8,6]
判定 .every((function(element,index,array)) / .some((function(element,index,array))
every 和 some 类似于离散数学的逻辑判定,返回一个布尔值。every() 函数当“所有”都返回true时,才返回 true;some()当有一个返回true时,就返回true。举例如下:判断数组是否都为正数:
var a = [1,2,8,6];var flag = a.every(function(element){return element > 0;});console.log(flag); //true
判断数组里是否有偶数:var a = [1,2,8,6];var flag = a.some(function(element){return element%2 === 0;});console.log(flag); //true
简化 .reduce(function(v1,v2),value,element,index,array) / .reduceRight(function(v1,v2),value,element,index,array)
遍历数组,调用回调函数,将数组元素组合成一个值,reduce从索引最小值开始,reduceRight反向。
第0个参数(函数):把两个值合为一个,并返回;
第1个参数:函数(第0个参数)的初始值,可以省略。
第2个~第4个参数:数组的元素,索引和数组本身。
举例如下:
var a = [1,2,8,6];var result = a.reduce(function(v1,v2){return v1+v2;},10);console.log(result); // 27
搜索 .indexOf(element) / lastIndexOf(element)
用于查找数组内指定元素位置,查找到第一个后返回其索引,没有查找到返回-1,indexOf从头至尾搜索,lastIndexOf反向搜索。
var a = [1,2,8,6];var index = a.indexOf(2);console.log(index); //1index = a.lastIndexOf(2);console.log(index); //1
Array.isArray(o)
该函数用来判断一个的对象是否是数组对象。
var a = [1,2,8,6];console.log(Array.isArray(a)); //truevar date = new Date();console.log(Array.isArray(date)); // false
转载于:https://blog.51cto.com/peiquan/1411215
javascript 常用的数组操作相关推荐
- JavaScript常用的字符串操作对象方法
文章目录 ==对象方法== ++搜索.索引 `indexOf() ` :搜索首个字符串出现的位置 `lastIndexOf() `:搜索最后出现的字符串位置 `includes() `:搜索判断字符串 ...
- Javascript常用的数组方法
Javascript常用的数组方法 数组 定义:计算机内存中一段连续的空间: 数组的几种常用方法 1.splice:可对数组进行增.删.改的操作: 2.push:给数组的末尾添加一个或多个元素: 3. ...
- 前端之 JavaScript 常用数据类型和操作
JavaScript 常用数据类型有:数字.字符串.布尔.Null.Undefined.对象 JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型 ...
- 【php基础入门】PHP中常用的数组操作使用方法笔记整理(推荐)
PHP数组 数组是对大量数据进行有效组织和管理的手段之一,通过数组的强大功能,可以对大量性质相同的数据进行存储.排序.插入及删除等操作,从而可以有效地提高程序开发效率及改善程序的编写方式. 数组:是一 ...
- JavaScript对JSON数组操作。数组添加(push)以及移除(splitce)
这里写一个小栗子提供给大家学习和纪录. js声明数组 以及向数组中添加as移除json数据 JavaScript声明JSON数组的方法: //部分条件,在数据渲上数据要求是数组格式而非json数组格 ...
- JavaScript中的数组操作
在之前的一篇博客中提到了一些 JavaScript Array 对象的方法,比如 slice().splice().pop().push() 等,博客链接: http://xitongjiagoush ...
- javascript 常用的dom操作及源生事件
javascript dom操作及源生事件 获取dom节点 操作dom节点 源生事件 -- 绑定.解除事件 源生事件 -- 事件派送 获取dom节点 document.getElementById() ...
- ios 字符串转数组_ES6中常用的数组操作-必须收藏
来源:https://www.jianshu.com/p/a1f43027d3fd 判断是否为数组: const array = new Array();array instanceof Array; ...
- php 常用数组操作
php常用的数组操作函数,包括数组的赋值.拆分.合并.计算.添加.删除.查询.判断.排序等 array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 <?p ...
最新文章
- Python数据分析可以应用到哪些领域
- Workout Wednesday Redux (2017 Week 3)
- T-sql检测文件夹是否存在
- 三种SQLServer分页查询语句笔记
- 图片跟随鼠标移动并放大js特效
- 报名即将截止,“梧桐杯”大数据应用创新大赛,邀你进入大数据先锋阵营
- linux两个进程相同的地址,在虚拟内存中,两个不同的进程可以具有相同的地址吗?...
- ivew ui 中使用Menu组件时导航菜单 active-name 无法动态激活问题
- Makefile 中使用函数
- Python访问MySQL数据库速度慢解决方法
- 最好用的杀毒软件avast!antivirus加免费注册码!
- 系统辨识工具箱使用指南
- 明解c语言入门篇第三版第九章答案,明解C语言 入门篇 第一章答案
- matlab 股票分时图_matlab画股票走势图 急急急!
- 开源协议(GPL,LGPL,BSD,MIT,Apache)
- GNU/Linux与Windows魔兽争霸3局域网对战安装与配置
- ZiSync:跨平台局域网自同步工具
- 优思学院|德国制造为何被受推崇?
- vscode 护眼主题 界面UI配色 语法配色
- 深度学习之upsampling downsampling
热门文章
- JVM常用新生代垃圾收集器
- 装了linux开机出现错误,[已解决]安装完,启动出现错误!
- 为什么实验是领英 DNA 的核心部分?
- Storm概念学习系列之Stream消息流 和 Stream Grouping 消息流组
- java_object的具体使用--上帝
- 第20章 TCP的成块数据流
- WCF调试异常信息:找不到类型“”,在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHosting...
- 使用Shell遍历目录及其子目录中的所有文件方法
- 【免费毕设】ASP.NET公交车管理系统的实现与设计(源代码+lunwen)
- Oracle sql给一列赋值,简单的Oracle变量SQL赋值