当前位置 : 主页 > 网络编程 > JavaScript >

JS数组中常用方法技巧学会进阶成为大佬

来源:互联网 收集:自由互联 发布时间:2022-04-19
目录 splice()方法 join()方法 reverse()方法 every()方法 reduce()方法 filter()方法 findIndex()方法 和find()方法 findIndex() find() forEach()方法 some()方法 indexOf()方法 sort ()方法 push()方法 pop()方
目录
  • splice()方法
  • join()方法
  • reverse()方法
  • every()方法
  • reduce()方法
  • filter()方法
  • findIndex()方法 和find()方法
    • findIndex()
    • find()
  • forEach()方法
    • some()方法
      • indexOf()方法
        • sort ()方法
          • push()方法
            • pop()方法
              • unshift()方法
                • shift()方法

                  splice()方法

                  截取替换数组

                  第一个参数是起始位置,第二个是截取的个数,第三是替换的元素 ,返回值是截取的元素,原数组是剩余的元素。

                  join()方法

                  数组转字符串

                  ()里的是以什么来连接,如果输入空字符串join('')则直接拼接不分割

                  例如:

                  let aaa = [1,2,3]
                  let bbb = aaa.join('-')  
                  let ccc = aaa.join('0')  
                  console.log(bbb) // '1-2-3'
                  console.log(ccc) //'10203'
                  

                  reverse()方法

                  翻转数组

                  arr.reverse() 翻转数组,返回值是翻转好的数组

                  every()方法

                  查找数组不符合条件的

                  遍历检测数组的每一项 如果有一项不符合你定义的条件 则返回false 剩余的不再执行 ,只有每一项都符合条件 才返回true

                  第一个参数是数组的每一项,第二个是索引 第三个是当前数组

                  例:

                  arr:[121,3322,3215,3549,6899,46456]
                  arr.every(function(item,index,array){
                      return item>2000  //检测数组的每一个值是否大于2000
                  })	//结果是false 除非数组每个值都大于2000 才是true
                  
                  

                  reduce()方法

                  求累加的值

                  可以将前面数组项遍历产生的结果与当前遍历项进行运算

                  第一个参数是 累计器(保存第二个值返回回来的结果)prev

                  第二个值是当前正在处理的值(遍历数组重头到尾)cur

                  第三个索引 index

                  第四个当前数组 arr

                  第五个 初始值 (函数后面)init

                  例:

                  var arr = [3,9,4,3,6,0,9];
                  var sum = arr.reduce(function (prev, cur) {
                      return prev + cur;
                  },0);//由于初始值是0 也就是prev刚开始的值是0  索以运算起来就是  0+3=3  3+9=12  12+4=16 .... 每次得到的结果都会被prev存储进行下一次运算 这就是最简单的reduce求和
                  

                  filter()方法

                  遍历并筛选数组

                  第一个参数是数组的每一项,第二个是索引 第三个是当前数组

                  它会遍历数组 按你定义的条件筛选你定义的条件 并且返回一个新数组,新数组里装着所有满足条件的元素

                  例:

                  var arr=[1,3,5,7,8]
                  var sum = arr.filter(function(value,index,arr){
                      return value >3  //筛选arr数值中 大于3的元素 
                  })
                  console.log(sum) //返回的值是[5,7,8]
                  

                  findIndex()方法 和find()方法

                  findIndex()

                  找出第一个满足条件的数组成员的索引 找不到返回-1

                  对于空数组,函数是不会执行的并没有改变数组的原始值。

                  find()

                  find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined

                  查找函数有三个参数:

                  value:每一次迭代查找的数组元素。

                  index:每一次迭代查找的数组元素索引。

                  arr:被查找的数组。

                  forEach()方法

                  遍历循环数组
                  第一个值是每个参数
                  第二个值是索引
                  第三个是数组本身
                  多用于遍历数组里的元素

                  arr:[1,2,3]
                  arr.forEach(function(item,index,array){
                  console.log(item) //1,2,3
                  })
                  
                  

                  some()方法

                  检测数组中的元素是否满足条件,用于查找唯一的值 返回true 或false

                  var a = arr.some(function(item,index,array){
                  return item>3  //检测是否有大于3的元素,有则返回true,没有则返回false
                  })
                  

                  只要找到一个满足条件的元素则终止循环 在some里面 遇到了return trun 就会终止循环

                  indexOf()方法

                  查找数组是否存在某个元素,返回下标。返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
                  参数
                  第一个参数(必须):被查找的元素
                  第二个(可选):开始查找的位置(不能大于等于数组的长度,返回-1),接受负值,默认值为0。
                  严格相等的搜索:
                  数组的indexOf搜索跟字符串的indexOf不一样,数组的indexOf使用严格相等===搜索元素,即数组元素要完全匹配才能搜索成功。

                  sort ()方法

                  参数可选: 规定排序顺序的比较函数。
                  默认情况下sort()方法没有传比较函数的话,默认按字母升序,如果元素不是字符串的话,会调用toString()方法将元素转化为字符串的Unicode(万国码)位点,然后再比较字符。

                  // 字符串排列 首字母
                  var a = ["Banana", "Orange", "Apple", "Mango"];
                  a.sort(); // ["Apple","Banana","Mango","Orange"]
                  // 数字排序的时候 因为转换成Unicode字符串之后,有些数字会比较大会排在后面
                  var a = [10, 1, 3, 20,25,8];
                  console.log(a.sort()) // [1,10,20,25,3,8];
                  
                  

                  push()方法

                  push 向数组末尾添加新元素(可一次性添加多个)
                  返回值:新数组的length (长度)

                  const aa = [1,2,3]
                  aa.push(5,6)
                  console.log(aa) // [1,2,3,5,6]
                  
                  

                  pop()方法

                  尾部删除一个 返回值是被删除的元素

                  unshift()方法

                  头部添加, 返回值是数组长度

                  shift()方法

                  头部删除元素 返回值:被删除的元素

                  以上就是JS数组中常用方法技巧学会进阶成为大佬的详细内容,更多关于JS数组中常用方法技巧的资料请关注自由互联其它相关文章!

                  网友评论