Js数组对象(学习笔记)

Js数组对象

1.迭代方法

  • forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

    • forEach() 对于空数组是不会执行回调函数的。
  • 实例

      var arr = [4, 9, 16, 25];
      arr.forEach((item, index) => {
          i = "下标" + index + "为:" + item;
          console.log(i)
      });
      结果:下标0为:4  下标1为:9  下标2为:16  下标3为:25
    
  • map() 方法会将数组中元素依次传入方法中,并将方法的返回结果组成新数组返回

      function myFunction() {
          console.log(numbers.map(Math.sqrt)); // 返回[2, 3, 4, 5]
          let arr = numbers.map(function(item) {
              if (item > 10) {
                  return item;
              }
          })
          console.log(arr); // 返回[undefined, undefined, 16, 25]
      }
    
  • filter() 会根据函数中的筛选条件将返回的结果组成一个新的数组并返回

      var nages = [32, 33, 16, 40];
      function checkAdults(nage) {
          return nage >= 18;
      }
      function myFunctions() {
          console.log(nages.filter(checkAdults)); // 返回[32, 33, 40]
      }
      myFunctions();
    
  • some()和every()

      var ages = [3, 10, 18, 20];
      function checkAdult(age) {
          return age >= 18;
      }
      function myFunction() {
          console.log(ages.some(checkAdult)); // 返回true -如果有一个元素满足条件,则表达式返回true,剩余的元素不会再执行检测
          console.log(ages.every(checkAdult)); // 返回false -如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测。
      }
      myFunction()
    

2.排序

  • sort() 对数组的元素进行排序

      let arr = [1, 2, 5, 4, 5, 6]
      arr.sort((a, b) => a - b)
      console.log(arr) //1,2,4,5,5,6
      arr.sort((a, b) => b - a)
      console.log(arr) //6,5,5,4,2,1
    
  • set() 对象允许你储存任何类型的唯一值,无论是原始值或者是对象引用。数组去重

      let arr =  [1,2,5,4,5,6,1,2]
      let crr = [...new Set(arr)] //去重console.log(Array.from(new Set(ary)));
      console.log(arr,crr) //[1,2,5,4,5,6,1,2],[1,2,5,4,6]
    

3.查找

  • indexOf() 方法可返回数组中某个指定的元素位置。如果在数组中没找到指定元素则返回 -1。

      let arr =  [1,2,5,4,5,6]
      let result = arr.indexOf(5) //查找5的索引值
      let result2 = arr.indexOf(5,2) //从索引为2的位置开始找
      let result3 = arr.indexOf(5,4) //从索引为3的位置开始找
      console.log(result,result2,result3) //2,2,4
      var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
      var a = fruits.lastIndexOf("Apple",4); //a 结果输出:6
    
  • lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。如果在数组中没找到指定元素则返回 -1。

      var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
      var a = fruits.lastIndexOf("Apple"); //a 结果输出:6 
      var b = fruits.lastIndexOf("Apple",4); //b 结果输出:2      
    
  • includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

      [1, 2, 3].includes(2);     // true
      [1, 2, 3].includes(4);     // false
      [1, 2, 3].includes(3, 3);  // false
      [1, 2, 3].includes(3, -1); // true
      [1, 2, NaN].includes(NaN); // true
    

4.添加

  • push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
    • 新元素将添加在数组的末尾。

    • 此方法改变数组的长度。

        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.push("Kiwi") //输出结果:Banana,Orange,Apple,Mango,Kiwi
        let result = fruits.push("asa") // 尾部插入元素,返回长度
        console.log(fruits,result) //["Banana", "Orange", "Apple", "Mango", "Kiwi", "asa"],6 返回长度
      
  • unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
    • 此方法改变数组的长度。

        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.unshift("Lemon","Pineapple");
        let result = fruits.unshift("asa") // 头部插入元素,返回长度
        console.log(fruits,result) //["asa", "Lemon", "Pineapple", "Banana", "Orange", "Apple", "Mango"],7 返回长度
      
  • splice() 方法用于添加或删除数组中的元素。
    • 此方法会改变原始数组。

    • 添加

        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.splice(2,0,"Lemon","Kiwi"); //输出结果:Banana,Orange,Lemon,Kiwi,Apple,Mango
      
    • 删除

        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.splice(2,2);  //输出结果:Banana,Orange
      

5.移除

  • pop() 方法用于删除数组的最后一个元素并返回删除的元素。

      var fruits = ["Banana", "Orange", "Apple", "Mango"];
      fruits.pop(); // Banana,Orange,Apple
    
  • shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

      var fruits = ["Banana", "Orange", "Apple", "Mango"];
      fruits.shift() // Orange,Apple,Mango
    
  • slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

      var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
      var citrus = fruits.slice(1,3); // Orange,Lemon
      // 如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
      var myBest = fruits.slice(-3,-1); // Lemon,Apple
    

6.拼接

  • join() 方法用于把数组中的所有元素转换一个字符串。元素是通过指定的分隔符进行分隔的。

      var fruits = ["Banana", "Orange", "Apple", "Mango"];
      var energy = fruits.join("-"); // Banana-Orange-Apple-Mango 返回一个字符串。
    
  • concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,返回一个新的数组。

      let arr = [1, 4, 3]
      let brr = [4, 2, 6]
      let result = arr.concat(brr) //将arr于brr连接
      console.log(arr, brr, result) //[1,4,3],[4,2,6],[1,4,3,4,2,6]
    

7.累加

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

      var numbers = [65, 44, 12, 4];
      let result = numbers.reduce((total,num)=>{
          return total+num // 初始项+当前项
      })  
      console.log(result)	// 125
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值