一些ES5的操作数组的方法

在ES5规范中新增了不少操作数组的方法,特此罗列一下以备使用

1. forEach循环

有点类似jQuery的each循环

[12,23,36,4,5].forEach(function(v,k){

console.log(v)   得到元素值,    12,23,36,4,5

console.log(k)   得到元素下标 ,0,1,2,3,4

})

方便在不借助三方库的情况下遍历各类数组

2.filter过滤器

用于筛选元素

var arr = [12,23,36,4,5].filter(function(x){

return   x>10;    此时大于10的元素会通过筛选并存放到一个新的数组,函数结束后返回该数组

});

console.log(arr)   得到[12,23,36]

3.every匹配

和上面filter的格式相似,但是返回的是一个bool值

如果数组内所有元素均通过筛选,则返回true,否则返回false

4.some匹配

和every匹配相对,只要有一个元素通过了筛选就返回true,一个都没就返回false

5.reduce组合

组合数组内的元素,进行相关操作

例如,数组求和

var sum = [12,23,36,4,5].reduce(function(x,y){

return x+y;

},0);

最终sum得到数组内的总和

主要接收一个函数来return 相应的组合操作,然后可以设置返回值的初始值,此处sum初始值为0

再来两个例子更加有助于理解

数组求积

var ji = [12,23,36,4,5].reduce(function(x,y){

return x*y;

},1);

显然求积,默认初始值就是1而不是0了

求最大值

var max = [12,23,36,4,5].reduce(function(x,y){

return (x>y)?x:y;

});

求最大值不需要初始值,返回的是经过两两比较后得到的最大值

6.reduceRight

和reduce用法基本一致,不同点在于所有操作都是从右向左进行,在某些确定优先级的情况下会有不同

时间: 2024-10-10 22:20:22

一些ES5的操作数组的方法的相关文章

JS 操作数组的方法

1.检测数组 (判断一个值是不是数组) var color = ["red", "green", "blue"]; (1) if (color instanceof Array) {} (2) if (Array.isArray(value)) {} 2.转换方法 var color = ["red", "green", "blue"]; (1) toString()/toLocalSt

操作数组的方法

数组的方法 1.join(分隔符)  将数组的值拼接成一个字符串 var arr=[15,89,65,69] console.log(arr.join('-')) //15-89-65-69 var arr=[15,89,65,69] console.log(arr.join('')) //15896569 var arr=[15,89,65,69] console.log(arr.join(' ')) //15 89 65 69 2.数组的增删操作 (1)push()后面添加一个或多个 var

Java的操作数组的方法Arrays

一.toString()将数组的内容转化为字符串 1.Arrays.toString(a) 二.equals()比较两个数组的内容是否相等 2.Arrays.equals(a,b) 三.fill()将数组进行填充 //将数组的1到3(不包括3)的元素填充为5 3.Arrays.fill(a,1,3,5) 四.将数组进行排序 Arrays.sort(a) //将数组1,3(不包括3)进行排序 Arrays.sort(arr,1,3); 五.用二分法查找指定元素的index(下标) Arrays.b

js类数组转数组的方法(ArrayLike)

1. 什么是类数组ArrayLike 拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解) 不具有数组所具有的方法 //类数组示例 var a = {'1':'gg','2':'love','4':'meimei',length:5}; Array.prototype.join.call(a,'+');//'+gg+love++meimei' //非类数组示例 var c = {'1':2}; //没有length属性就不是类数

字符串方法,js中的数组方法,ES5新增的数组方法,以及jQuery中的数组方法

说明:本片主要对比介绍与数组操作相关的方法 (一)字符串方法(String对象方法) indexOf() //检索字符串 lastIndexOf() //从后向前搜索字符串 match() //找到一个或多个正则表达式的匹配 replace() //替换与正则表达式匹配的子串 search() //检索与正则表达式相匹配的值 slice() //提取字符串的片断,并在新的字符串中返回被提取的部分 split() //把字符串分割为字符串数组 substr() //从起始索引号提取字符串中指定数目

关于javascript里面仿python切片操作数组的使用方法

其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用xxx in range(): ...跪.:( ) 而是我觉得字符串操作的切片真实让我感到前所未有的爽. 试想一下,我们平时操作最多的数组和字符串在切片的帮助下,不知道可以省去多少时间和麻烦.而且有了切片甚至不用去记很多可以被切片代替的api. 今天我在啃<学习javascript数据结构与算法>

JavaScript splice() 方法,操作数组或者jquey grid的columns根据需要显示不同的字段

JavaScript splice() 方法,操作数组或者jquey grid的columns显示不同的字段 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组. 语法 arrayObject.splice(index,howmany,item1,.....,itemX)   参数 描述 index 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany 必需.要删除的项目数量.如果设置为 0,则不会删

第4章 方法的操作数组的练习

1.1 方法操作数组练习1.1.1 方法的练习之数组遍历需求:把遍历数组改进为方法实现,并调用方法1.1.2 代码案例十四 package com.itheima_05; /* * 需求:把遍历数组改进为方法实现,并调用方法 */ public class MethodTest { public static void main(String[] args) { // 定义数组 int[] arr = { 11, 22, 33, 44, 55 }; // 遍历 // for (int x = 0

数组map方法与如何使用ES5实现

数组map方法与如何使用ES5实现 JavaScript Array map() 方法 定义 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值. map() 方法按照原始数组元素顺序依次处理元素. 注意: map() 不会检测数组是否为空. map() 不会改变原始数组,而是返回一个新数组. 语法 arr.map(function(curVal,idx,arr), thisVal) 参数 描述 curVal 必须,当前元素的值. Idx 可选,当前元素的索引值. ar