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
javascript 数组的常用操作函数的更多相关文章
- JavaScript之数组的常用操作函数
js对数组的操作非常频繁,但是每次用到的时候都会被搞混,都需要去查相关API,感觉这样很浪费时间.为了加深印象,所以整理一下对数组的相关操作. 常用的函数 concat() 连接两个或更多的数组,并返 ...
- JavaScript 数组的常用操作
JavaScript splice 方法 splice 方法用于插入.删除或替换数组的元素.语法如下: array_object.splice(start, num, element1, elemen ...
- byte数据的常用操作函数[转发]
/// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- pandas_一维数组与常用操作
# 一维数组与常用操作 import pandas as pd # 设置输出结果列对齐 pd.set_option('display.unicode.ambiguous_as_wide',True) ...
- Java实例 Part4:数组及其常用操作
目录 Part4:数组及其常用操作 Example01:将二维数组的行列交换 Example02:使用选择排序法对数组进行排序 Example03:使用冒泡排序法对数组进行排序 Example04:使 ...
- php课程 4-17 数组键值操作函数有哪些
php课程 4-17 数组键值操作函数有哪些 一.总结 一句话总结:多看学习视频 1.php中数组的键值操作函数有哪6个? • array_values();获取数组中的值• array_keys( ...
- javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- Javascript 数组对象常用的API
常用的JS数组对象API ES5及以前的Api ECMAScript5为数组定义了5个迭代方法,每个方法接收两个参数, 一个是每项运行的函数,一个是运行该函数的作用域对象(可选项),传入这些方法的函数 ...
随机推荐
- Ubuntu12.04下jamvm1.5.4+classpath-0.98成功执行 helloworld.class
经过两天的努力,总于在ubuntu以下编译好classpath-0.98与jamvm1.5.4,并能成功的运行类文件:jamvm hellowold,当屏幕上打印出"hello world! ...
- 【概率论】【POJ 3682】【King Arthur's Birthday Celebration】
题意:进行翻硬币实验,若k次向上则结束,进行第n次实验需花费2*n-1的费用,询问期望结束次数及期望结束费用 设F[i]为第i次结束时的概率 F[i]= c(i-1,k-1)*p^k*(1-p)^( ...
- Apache Lens —— 统计数据分析查询接口
Lens 提供了一个统一数据分析接口.通过提供一个跨多个数据存储的单一视图来实现数据分析任务切分,同时优化了执行的环境.无缝的集成 Hadoop 实现类似传统数据仓库的功能. 该项目主要特性: 简单元 ...
- web项目中获取各种路径的方法
~Apple web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/&qu ...
- Daily Sentence
2016-12-05 08:59:15 Knowing yourself is the beginning of all wisdom. 智者始于自知. 2016-05-01 19:38:25 The ...
- mysql错误号码:1129
mysql 错误号码1129: mysql error 1129: Host 'bio.chip.org' is blocked because of many connection errors; ...
- JavaScript 面向对象思想 贪吃蛇游戏
js代码: 游戏的对象 ,食物,蛇 ,游戏控制思路如下 (完整代码在https://github.com/774044859yf/ObjectSnakeGame下载) var snake = { aS ...
- BZOJ 4008: [HNOI2015]亚瑟王( dp )
dp(i, j)表示考虑了前i张牌, 然后还有j轮的概率. 考虑第i+1张牌: 发动的概率 : p = dp(i, j) * (1 - (1-p[i+1])^j) 没发动的概率 : dp(i, j) ...
- Java log4j的环境搭建
一.Log4j是什么? Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以控制日志信息输出的目的地.最常见的就是输出到控制台或者日志文件.同时,它强大的一点是可以在C.C++等其 ...
- 使用Idea编写javaweb以及maven
使用Idea编写javaweb以及maven 今天总结的第一点是在windows下使用idea编写jsp并且使用tomcat部署:第二点是新建maven项目,之前一直是听说也没有自己实践过,今天就大概 ...