javaScript操作数组的常用方法
map(映射), reduce(规约), forEach(遍历), filter(过滤),它们都是高阶函数,都是以传入不同的函数来以不同的方式操作数组元。ie都不支持
判断是否为数组
- Array.isArray(ele)
Array.isArray({})
//=>false
Array.isArray('')
//=> false
Array.isArray([])
//=>true
查找数组内指定元素位置
- indexOf(ele) / .lastIndexOf(ele)
[1,2,3,4,2,3].indexOf(2) //= > 1 从左到右返回第一个匹配的
[1,2,3,4,2,3].lastIndexOf(2) //=> 4 从右到左第一个匹配元素的位置
遍历数组
- forEach 为每个元素执行对应的方法
遍历数组,参数为一个回调函数,回调函数有三个参数:当前元素,元素索引,整个数组
var a=new Array(1,2,3,4,5,6)
a.forEach(function(val,i,array){ //
a[i]=val+1;
});
- map 遍历数组 ,参数为一个回调函数,返回一个新数组
var a=new Array(1,2,3,4,5,6)
a.map((e,i)=>{
return e*e
});
//=>[1, 4, 9, 16, 25, 36]
- .reduce(function(v1,v2),value) / .reduceRight(function(v1,v2),value)
遍历数组,方法有两个参数
- 回调函数,把两个值合为一个,并返回结果
- value ,一个初始值,可选
//不传initialValue值
var arr = [1,2,3];
arr.reduce(function(pre,cur,index,arr){return pre+cur});
//结果 6
//累加了两次
// 传入initialValue 值
var arr = [1,2,3]
arr.reduce(function(pre,cur,index,arr){return pre+cur},10);
//结果16
//累加了3次,初始值为10
//拼接所有的数组
var flattened = [[0, 1], [2, 3], [4, 5]].reduce( ( acc, cur ) => acc.concat(cur));
//输出[0, 1, 2, 3, 4, 5]
- filter(function(ele))
返回原数组的一个子集,回调函数逻辑判断为true则返回,为false和索引为空则不返回,原数组保持不变
//排除掉小于10的值
var isBigEnough=(element)=> {
return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]
数组转字符串
- join() 将数组里面的所有项拼接成一个字符串
var a=[1,2,3,9,7]
a.join(',')
//=>"1,2,3,9,7"
//注意原数组不会被改变
数组去重
- 用到Set对象和 Array.from()方法
a=[1,2,3,4,3,3,3,2]
var arr=new Set(a)
Array.from(arr)
//=>[1, 2, 3, 4]
- filter 删除重复项
arr.filter((item, pos) => arr.indexOf(item) === pos)
javaScript操作数组的常用方法的更多相关文章
- JavaScript操作数组
数组被描述为一个存储元素的线性集合,元素可以通过索引来任意存取. 几乎所有的编程语言都有类似的数据结构,但是Javascript中的数组却略有不同. Javascript中的数组是一种特殊的对象,所以 ...
- javascript中数组的常用方法
数组的基本方法如下 1.concat() 2.join() 3.pop() 4.push() 5.reverse() 6.shift() 7.sort() 8.splice() 9.toString( ...
- JavaScript操作数组。
1.shift:删除原数组第一项,并返回删除元素的值,原数组为空则返回undefined. 2.unshift:将参数添加到原数组开头,并返回数组的长度. 3.pop:删除原数组最后一项,并返回删除元 ...
- JavaScript中数组操作常用方法
JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- 使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)
getElementById(id)这是通过id来访问某一元素,最常用的之一,例:<html><body><div id="myid">test ...
- 关于javascript里面仿python切片操作数组的使用方法
其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...
- 让操作javascript对象数组像.net lamda表达式一样
让操作javascript对象数组像.net lamda表达式一样 随着web应用程序的富客户端化.ajax的广泛使用及复杂的前端业务逻辑.对js对象数组.json数组的各种操作越来越多.越来越复杂. ...
- javascript中数组常用方法总结
原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...
随机推荐
- python3判断字典、列表、元组为空以及字典是否存在某个key的方法
#!/usr/bin/python3 #False,0,'',[],{},()都可以视为假 m1=[] m2={} m3=() m4={"name":1,"age&quo ...
- 只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类
只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类
- python写BMI指数菜单
需求: # 1.创建并输出菜单, 菜单是不可变的. 所以使用元组menus = ("1, 录入", "2, 查询", "3, 删除", &q ...
- (转)Java GC基本算法
http://blog.csdn.net/heyutao007/article/details/38151581 1.引用计数(reference counting) 原理:此对象有一个引用,则 ...
- Educational Codeforces Round 55 Div. 2 翻车记
A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...
- CIR,CBS,EBS,PIR,PBS 名词解释 令牌桶应用
为了达到上述目的,我们需要对进入网络的流量进行监督,实现CAR(Committed Access Rate). CAR:将进入网络的用户流量的速率限制在约定的范围之内,从而避免引起网络拥塞. CIR( ...
- 【EF】EntityFramework DBFirst的使用
一.前言 久闻EF大名,之前做C/S产品用的是Dapper对SqlLite进行ORM.然后接触公司授权系统后发现用的是EntityFramework对SQLSever进行ORM.授权系统 ...
- MSSQL代理工作服务器远程命令执行
概述 如果MSSQL数据库中开启了MSSQL Server Agent Job服务的话,攻击者将可以利用MSSQL Server中自带的功能来获取一个shell. SQL Server Agent S ...
- array_filter 过滤一维中空数组,数组的序列不变
<?php header('Content-type:text;charset=utf8'); $str = "%11111%22222%333333%"; $arr = e ...
- SpringBoot(五) :spring data jpa 的使用
原文出处: 纯洁的微笑 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法 ...