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)

    遍历数组,方法有两个参数
  1. 回调函数,把两个值合为一个,并返回结果
  2. 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操作数组的常用方法的更多相关文章

  1. JavaScript操作数组

    数组被描述为一个存储元素的线性集合,元素可以通过索引来任意存取. 几乎所有的编程语言都有类似的数据结构,但是Javascript中的数组却略有不同. Javascript中的数组是一种特殊的对象,所以 ...

  2. javascript中数组的常用方法

    数组的基本方法如下 1.concat() 2.join() 3.pop() 4.push() 5.reverse() 6.shift() 7.sort() 8.splice() 9.toString( ...

  3. JavaScript操作数组。

    1.shift:删除原数组第一项,并返回删除元素的值,原数组为空则返回undefined. 2.unshift:将参数添加到原数组开头,并返回数组的长度. 3.pop:删除原数组最后一项,并返回删除元 ...

  4. JavaScript中数组操作常用方法

    JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...

  5. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  6. 使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)

    getElementById(id)这是通过id来访问某一元素,最常用的之一,例:<html><body><div id="myid">test ...

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

    其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...

  8. 让操作javascript对象数组像.net lamda表达式一样

    让操作javascript对象数组像.net lamda表达式一样 随着web应用程序的富客户端化.ajax的广泛使用及复杂的前端业务逻辑.对js对象数组.json数组的各种操作越来越多.越来越复杂. ...

  9. javascript中数组常用方法总结

    原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...

随机推荐

  1. 第201天:js---实现继承的5种方式

    一.构造函数方式 //构造函数 function People(){ this.race = '汉族'; } People.prototype={ eat:function(){ console.lo ...

  2. 一个Vue实例-添加、显示列表、删除

    <link href="~/Content/css/bootstrap-theme.min.css" rel="stylesheet" /> < ...

  3. Contest 3

    A:非常裸的dp. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstrin ...

  4. C++解析(9):关于const和引用的疑问

    0.目录 1.关于const的疑问 2.关于引用的疑问 2.1 引用与指针 2.2 从C++语言与C++编译器角度看引用 2.3 从工程项目开发看引用 3.小结 1.关于const的疑问 const什 ...

  5. 520的信心赛——点点玩deeeep

                                   3.点点玩 deeeep(deeeep.cpp) 描述 点点最近迷上了 deeeep(此 de 非彼 de),在研究一个特殊的最长树链问题 ...

  6. splay tree 学习笔记

    首先感谢litble的精彩讲解,原文博客: litble的小天地 在学完二叉平衡树后,发现这是只是一个不稳定的垃圾玩意,真正实用的应有Treap.AVL.Splay这样的查找树.于是最近刚学了学了点S ...

  7. 洛谷P1602 Sramoc问题 题解报告【同余+bfs】

    题目描述 话说员工们整理好了筷子之后,就准备将快餐送出了,但是一看订单,都傻眼了:订单上没有留电话号码,只写了一个sramoc(k,m)函数,这什么东西?什么意思?于是餐厅找来了资深顾问团的成员,YQ ...

  8. Linux系统启动详解(一)

    本篇主要以Centos为例,讲述整个Linux系统启动过程,包括了grub引导,initramfs流程,/sbin/init执行rc.sysinit及rc的大体流程. 另外,本篇有一个实例来说明,将整 ...

  9. oracle 时间

    select to_char(to_date(sysdate,'yyyy-mm-dd'),'day') from dual; select to_date('2017-12-31','day') fr ...

  10. Ubuntu在vncviewer下Tab键失效

    打开命令行,运行如下命令即可解决: xfconf-query -c xfce4-keyboard-shortcuts -p /xfwm4/custom/'<'Super'>'Tab -r ...