首页 > 其他分享 >js 数组方法小计

js 数组方法小计

时间:2023-01-26 01:55:09浏览次数:51  
标签:返回 arr return 元素 小计 js result 数组

Array 使用方法小计

用于检测数组所有元素是否都符合指定条件 every

every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。

  var arr = [11, 22, 44, 55, 55]
  var result = arr.every(function (item,index) {
    return item > 10 // 通过条件判断返回true/false。  false不会继续执行。  
    // return truel; 这样也可以,直接返回 true
    // return false; 直接返回 false
  })
  console.log(result) // 结果只有true/false。只有全部满足条件才会返回true,否则就返回false。

检查指定数组中符合条件的所有元素 filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。

  var arr = [11, 22, 44, 55, 55]
  var result = arr.filter(function (item, index) {
    return item > 22; // [44, 55, 55] 返回满足条件的元素
    // return true; // [11, 22, 44, 55, 55] 条件为真返回所有的元素
    // return false; // [] 条件为假返回空数组
    // 通过函数返回的true/false, 判断当前元素是否是满足条件的元素,满足则将当前元素返回到新的数组里面
  })
  console.log(result) 

返回通过测试(函数内判断)的数组的第一个元素的值。find

find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。

 使用方法同上,符合条件返回当前符合条件的值,没有则返回undefined

返回传入一个测试条件(函数)符合条件的数组第一个元素位置。findIndex

findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。

 使用方法同上,符合条件返回当前元素的索引,没有则返回 -1

调用数组的每个元素,并将元素传递给回调函数。forEach

forEach() 对于空数组是不会执行回调函数的。
forEach()类似于for循环。
通过函数return为空,可以跳过当前元素的循环,执行下一个元素,类似for的continue 。
没有返回值,undefined。

  var arr = [1, 2, 3, 4, 5];
  var result = arr.forEach(function (item) { // 没有返回值,一般不会赋值使用,直接调用
    if (item === 3) {
      return; // 通过return为空,结束当前元素的循环,继续执行对下一个元素的操作。 
    }
    console.log(11, item); // 1,2,4,5
  });
  console.log(22, result) // undefined 没有返回值

按照原始数组元素顺序依次处理元素。map

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。

  var arr = [1, 2, 3, 4, 5];
  var result = arr.map(function (item, index) {
    return item + 1; // return返回的值就是result接收的值
    // return 1; // 会把数组遍历一次,每次结果都是1
    // return; // return不写会返回undefined
  });
  console.log(result) //  [2, 3, 4, 5, 6]
  // console.log(result) //  [1, 1, 1, 1, 1]
  // console.log(result) //  [undefined, undefined, undefined, undefined, undefined]

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。

  var arr = [1, 2, 3, 4, 5];
  var result = arr.reduce(function (total, currentValue) {
    // 第一次的total为数组的第一个元素也就1
    // 第二次之后每次的total都是上一次return返回的值
    return total + currentValue; // 1 3 6 10 15
    // return 2;
  });
  console.log(result) // 15
  // console.log(result) // 2

用于检测数组中的元素是否满足指定条件(函数提供)。some

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。

  var arr = [1, 2, 3, 4, 5];
  var result = arr.some(function (item) {
    return false; // 通过return 的 true/false 返回最后的结果,和every的区别在于有一个true就返回true
  });
  console.log(result)

用于添加或删除数组中的元素。splice

splice() 方法用于添加或删除或替换数组中的元素。
注意:这种方法会改变原始数组

 var arr = [1, 2, 3, 4, 5];
  // 删除
  // var result = arr.splice(2,1); // 第一个参数,从数组的第几个开始;第二个参数,操作几个元素 0 代表没有, 1 代表从当前的位置操作一个元素,
  // console.log(result); // 返回删除的元素,[3]
  // console.log(arr); // 原始的数组删除当前元素 [1, 2, 4, 5]
  // 替换
  // var result = arr.splice(2, 1, 66);
  // console.log(result); // 返回删除的元素,[3]
  // console.log(arr); // 原始的数组删除之后会添加一个新增的元素 , [1, 2, 66, 4, 5]
  // 新增
  // var result = arr.splice(2, 0, 88);
  // console.log(result); // 返回删除的元素,没有删除任何元素,返回[]
  // console.log(arr); // 原始的数组会在当前元素之前添加一个新增的元素 , [1, 2, 88, 3, 4, 5]

对数组的元素进行排序。sort

sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。
默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时"40"将排在"5"前面。
使用数字排序,你必须通过一个函数作为参数来调用。
函数指定数字是按照升序还是降序排列。
这些说起来可能很难理解,你可以通过本页底部实例进一步了解它。
注意: 这种方法会改变原始数组!。

  var arr = [6, 2, 3, 4, 5];
  var result = arr.sort(function (a, b) { // a为每次比较的后者b为前者 在本数组中 a,b第一次分别是2,1
    console.log(a, b)
    console.log(a - b)
    return a - b; //  升序
    // return b - a;  //  降序
  });
  console.log(result); 

标签:返回,arr,return,元素,小计,js,result,数组
From: https://www.cnblogs.com/lixiaotian/p/17064638.html

相关文章

  • 百度地图提示JS API版本过低
    当网站遇到调用百度地图页面时,提示“JSAPI版本过低”jsapi版本过低解决方法:在https://lbsyun.baidu.com/注册用户,在应用管理,创建应用应用类型:浏览器端(推荐全......
  • JS_12_表单校验
    实现了常见的注册表单的校验。  初始界面:  同意协议后可以点击注册按钮:  输入符合条件的数据:   实现代码:<!DOCTYPEhtml><html><head>......
  • JavaScript:判断数组对象值是否相同的函数声明
    varobj1={name:"w",};varobj2={name:"w",};functionisObjectValueEqual(a,b){//判断两个对......
  • 数组旋转k步
    时间复杂度O(n^2)空间复杂度O(1)constrorateKstep=(arr=[1,2,3,4,5,6,7],step=3)=>{constlength=arr.lengthfor(leti=0;i<3;i++){......
  • js 造事件
    MDN造https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createEventMouseEvent:MDNhttps://developer.mozilla.org/zh-CN/docs/Web/API/MouseEventw3cht......
  • PHP获取微信JS-SDK接口设置(access_token、jsapi_ticket、signature)
    前端引入JS文件<scriptsrc="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>或<scriptsrc="http://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script......
  • JSP六个动作详解...
    JSP中6个动作为:1.Include、 2.Forward、3.UseBean、 4.GetProperty、 5.SetProperty、6.Plugin。一、Include指令<jsp:include>标签表示包含一个静态的或者动态的文件......
  • JavaScript学习笔记—使用JSON进行深复制
    constobj={name:"孙悟空",friend:{name:"猪八戒"}};//对obj进行浅复制constobj2=Object.assign({},obj);//对obj进行深复制constobj3=s......
  • js中判断数据类型的方法有哪些
    判断数据类型可以使用typeof但是typeof判断数组和函数时返回的都是Object不能具体判断,这时使用instanceof可以判断对象是否是另一个函数创造的;用法:typeof([]) ......
  • 编写一个 Python 代码以按第 n 列对 NumPy 中的数组进行排序?
    在本文中,我们将向您展示如何在python中按升序和降序按第n列对NumPy中的数组进行排序。NumPy是一个Python库,旨在有效地处理Python中的数组。它快速、简单易学且存储高......