常用的JavaScript数组方法

目录
  • 1、filter()
  • 2、forEach()
  • 3、some()
  • 4、every()
  • 5、reduce()
  • 6、合并数组

1、filter()

语法:

array.filter(function(currentValue,index,arr), thisValue)

参数说明:
currentValue:当前元素对象(必选)
index:当前元素的索引值(可选)
arr:当前元素属于的数组对象(可选)
thisValue:对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
如果省略了 thisValue ,"this" 的值为 "undefined"(可选)

//过滤年龄大于10的元素
var ages = [5, 32, 7, 10, 33, 12, 40];
var res = ages.filter(function (currentValue) {
  return currentValue > 10;
})
console.log(res.toString());
//输出结果:32,33,12,40 

//箭头函数写法
var res1 = ages.filter(item => item > 10)
console.log(res.toString());

输出结果

32,33,12,40

2、forEach()

语法:

array.forEach(function(currentValue, index, arr), thisValue)

参数用法同上

//循环输出每个参数
var ages = [5, 32, 7, 10, 33, 12, 40];
ages.forEach(function (currentValue, index) {
  console.log("参数:" + currentValue + "索引:" + index);
}) 

//箭头函数写法
ages.forEach((item, index) => {
  console.log("参数:" + item + "索引:" + index);
})

再看下面一段代码:

//把10修改成20
var ages = [5, 32, 7, 10, 33, 12, 40];
ages.forEach(function (currentValue, index) {
  if (currentValue === 10) {
    ages[index] = 20
    return
  }
  console.log(index);
}) 

console.log(ages);

我们在代码中将10的值改成20后,加了一个return,但是运行结果显示还是打印了7次index的值,这就是forEach的一个缺点,只有循环结束才能停止。那如何解决呢?

3、some()

语法:

array.some(function(currentValue,index,arr),thisValue)
参数用法同上

//把10修改成20
var ages = [5, 32, 7, 10, 33, 12, 40];
ages.some(function (currentValue, index) {
  if (currentValue === 10) {
    ages[index] = 20
    return true
  }
  console.log(index);
}) 

console.log(ages); 

//把10修改成20 箭头函数
var ages = [5, 32, 7, 10, 33, 12, 40];
ages.some((item, index) => {
  if (item === 10) {
    ages[index] = 20
    return true
  }
  console.log(index);
}) 

console.log(ages);

上面的代码中运行结果只会打印三次index的值,通过some就可以完美解决forEach()的不足,开发过程中就看大家的需要就行选择。

4、every()

语法:

array.every(function(currentValue,index,arr), thisValue)
参数用法同上

//判断每个元素的值是否都大于4
var ages = [5, 32, 7, 10, 33, 12, 40]; 

var res = ages.some(function (currentValue) {
  return currentValue > 4
})
console.log(res);
//输出:true 

//箭头函数
var res = ages.some(item => item > 4)
console.log(res);

5、reduce()

语法:

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

参数说明:

total:必需。初始值, 或者计算结束后的返回值。
currentValue:   必需。当前元素
currentIndex:可选。当前元素的索引
arr:可选。当前元素所属的数组对象。
initialValue:可选。传递给函数的初始值

//计算所有元素的和
var numbers = [15.5, 2.3, 1.1, 4.7];
var res = numbers.reduce(function (total, currentValue) {
  return total += currentValue
}, 0) 

console.log(res);
//23.6 

//计算大于4的元素的和
var result = numbers.filter(item => item > 4).reduce((total, item) => total += item, 0)
console.log(result);
//20.2

6、合并数组

用法:var arr = [...数组1,...数组2]
结果:将数组2的元素值拼接到数组1元素值后面

var arr = [1, 2, 3]
var arr2 = [4, 5, 6] 

var res = [...arr, ...arr2]
console.log(res);
//输出结果:[1, 2, 3, 4, 5, 6] 

var res = [...arr2, ...arr]
console.log(res);
//输出结果: [4, 5, 6, 1, 2, 3]

到此这篇关于常用的JavaScript数组方法的文章就介绍到这了,更多相关 数组 JavaScript内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JavaScript常用数组去重实战源码

    数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码.如果是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官很有可能对你刮目相看. 在真实的项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重.虽然日常项目用到的概率比较低,但还是需要了解一下,以防面试的时候可能回被问到. 1.利用对象的属性 使用对象属性不重名的特性. var arr = ['qiang','ming','tao','li','liang','you','qiang','tao'];

  • javascript数组includes、reduce的基本使用

    目录 前言 Array.prototype.includes 语法 参数 返回值 实例 Array.prototype.reduce 语法 参数 返回值 总结 前言 在过去的几年中,JavaScript语言进行了多次更新.为了跟上技术更新的脚步,时刻保持一颗学习的心.趁着休息的时间学习熟悉一下数组的includes.reduce的使用. Array.prototype.includes ES7添加对此方法的支持,includes() 方法用来判断一个数组是否包含一个指定的值的元素,并返回布尔值t

  • JS利用map整合双数组的小技巧分享

    目录 前言 模拟数据 合并后数据 合并思路 代码展示&解析 第一步 第二步 第三步 第四步 全部代码 总结 前言 最近因公司业务需求编写ECharts图表展示相关公司阶段型业务相关数据变化,需要服务端进行数据查询返回给前端进行数据展示.但是由于反回的数据不便于前端 ECharts展示所以需要进行数据整合,奈何本人经验不足只能请教公司大佬,在大佬帮助下完成了数据整合,并学到一个前所未闻的合并方法今天分享给大家. 模拟数据 下图是将要被合并的两数组 合并后数据 合并后数据要求以时间为唯一的key进行

  • JavaScript平铺数组转树形结构的实现示例

    目录 后台丢来了1w条数据 递归方式 非递归方式 总结 后台丢来了1w条数据 千算万算,还是没有逃过,后台真的就上万条数据一次丢给前端了.好吧,好在还不是10w条.如下,后台返回的是这样的结构: const flatArr = [ { id: '001', name: '节点1' }, { id: '0011', parentId: '001', name: '节点1-1' }, { id: '00111', parentId: '0011', name: '节点1-1-1' }, { id:

  • JavaScript数组合并案例讲解

    方法一: var a = [1,2,3]; var b=[4,5] a = a.concat(b); console.log(a); //此处输出为 [1, 2, 3 ,4 ,5] 方法二: // ES5 的写法 var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; Array.prototype.push.apply(arr1, arr2); console.log(arr1)//[0,1,2,3,4,5] 方法三: // ES6 的写法 var arr1 =

  • js将多维数组转为一维数组后去重排序

    目录 先说一下多维数组拍平 方法一: flat() 方法二: 用空字符串拼接再用split()分割一下 方法三: toString() 方法四: join() 方法五:递归调用 方法六:使用reduce 数组去重 方法一:创建一个新数组,判断新数组中是否存在该元素如果不存在则将此元素添加到新数组中 方法二:使用Set大法 方法三:使用filter() 数组排序 方法一:使用sort() 整理几个方法,怕后面忘记了又要到处翻笔记 先说一下多维数组拍平 方法一: flat() // 比如说这里有一个

  • JavaScript判断是否为数组的各种方法汇总

    目录 前言 Array.isArray constructor instanceof isPrototypeOf Object.prototype.toString typeof 总结 前言 我们在日常开发中,常常有判断某值类型的需求,今天我们总结一下常见的几种用来判断是否为数组的 JavaScript 方法. Array.isArray Array.isArray() 是ES5新增的方法,用于确定传递的值是否是一个数组,如果是数组,则返回  true,否则返回 false. let arr =

  • json如何解析混合数组对象到实体类的list集合里去

    一.前言 这次项目中遇到了一个这样的需求,把下面数据解析到我下面的对象里去. json 文件 [ { "categories": [ "美食,小吃快餐" ], "coordinate": { "address": "王府井大街138号新东安广场3层328", "area": "东安市场", "area_id": "jk238eewf0k&

  • JavaScript 数组去重详解

    目录 1.数组去重 2.数组去重里面的对象去重 3.根据数组某个字段相同,修改另外字段值 总结 1.数组去重 /********************************************** ╚description: ╚作者: 麒麟社 ╚时间: 2021-09-13 22:26:21 ╚名称: V1.0.5 ***********************************************/ var obj = ['麒麟','社','CC','DD','麒麟','社'

  • JavaScript数组方法-系统性总结详解

    目录 数组常用方法 数组元素增添和删除 操作数组头部 操作数组尾部 任意位置增删 数组拼接 数组转换成字符串 截取数组 数组排序方法 排序 顺序翻转 数组迭代方法 数组遍历查找 返回值为下标 返回值为内容 数组遍历处理 callback(value[,index[,array]]) callback(total,value[,index[,array]]) 数组其他方法 总结 首先总结的意义就是让杂乱无章变得更加井然有序,这样在使用的过程思路会更加清晰. 数组使用方法注意点: 变异方法和非变异方

  • JavaScript数组常用方法实例讲解总结

    目录 数组常用方法 concat() 方法 join() 方法 pop() 方法 push() 方法 reverse() 方法 shift() 方法 slice() 方法 sort() 方法 splice() 方法 toSource() 方法 toString() 方法 toLocaleString() 方法 unshift() 方法 valueOf() 方法 导读:在实际开发中,前端工程师除了写页面布局及样式还要对后端返回的数据进行处理,返回的数据大多数是json格式,一般都是返回一个对象或者

  • JavaScript中常用的数组操作方法

    目录 一.concat() 二.join() 三.push() 五.shift() 六.unshift() 七.slice() 八.splice() 九.substring() 和 substr() 十.sort 排序 十一.reverse() 十二.indexOf 与 lastIndexOf 十三.every 对数组 十四.some 十五.filter 十六.map 十七.forEach 数组遍历 1.find(): 2.findIndex(): 3.fill(): 4.copyWithin(

  • JavaScript数组详细归纳

    目录 一.数组归纳 1. 字符串拆分为数组 2. 将集合和映射转换为新数组 3. 对现有数组进行浅复制 4. arguments 对象轻松转换为数组 5. 转换自定义对象 二.迭代器方法 三.数组常用操作方法 一.数组归纳 1. 字符串拆分为数组 console.log(Array.form("red")) // ["r", "e", "d"] 2. 将集合和映射转换为新数组 const a1 = new Map().set(

随机推荐