数组增删查改

数组增删查改

数组的增删查改是什么?

  1. 增:在数组里面添加数据

    • 在数组的最前面添加三条数据

      	let arr = ["d","e","f"];
          // 方式一:比较复杂
          // arr.unshift("a");
          // arr.unshift("b");
          // arr.unshift("c");
          // 方式二:比较方便
          ▲// unshift() 和push()方法一样,会返回新增的数组的长度
          // unshift()方法和push()方法一样,可以接收一个数据或者多个数据
          arr.unshift("a" , "b" , "c");
          console.log(arr);//["a", "b", "c", "d", "e", "f"]
      
    • 在数组的最后面添加一条数据

        // JavaScript中数组自动扩容,新增一条数据
          let arr = ["d","e","f"];
          arr[3] = "h";
          console.log(arr);//["d", "e", "f", "h"]
      
      	let arr = ["d","e","f"];
         ▲ // push() 方法,在数组最后面新增一条数据。是有返回值的,返回新增的数组的长度。
          // 假如数组里面具有好多个数据,如果使用楼上的方法,太麻烦了。
          // 可以直接使用数组里面的方法,直接添加数据,不用数索引的数目
          arr.push("a");
          console.log(arr);//["d", "e", "f", "a"]
      
    • 在数组最后面添加三条数据

       	let arr = ["d","e","f"];
          // 方式一:比较复杂
          // arr.push("a");
          // arr.push("b");
          // arr.push("c");
          // 方式二:比较方便
      	//push()方法可以接收一个数据或者多个数据
          arr.push("a" , "b" , "c");
          console.log(arr);//[ "d", "e", "f","a", "b", "c"]
      
  2. 删:通过数组的索引将其数据删除

    • 删除数组最后面一条数据

      	let arr = ["d","e","f"];
         ▲// 数组的方法: pop()可以删除数组里面最后的一条数据,并且会将删除的数据返回
          let s=arr.pop();
          console.log(arr);//[ "d", "e"]
          console.log(s);//f
      
    • 删除数组最前面的一条数据

       	let arr = ["d","e","f"];
         ▲ // 数组的方法: shift()可以删除数组里面最前面的一条数据,并且会将删除的数据返回
          let w=arr.shift();
          console.log(arr);//["e", "f"]
          console.log(w);//d
      
    • 删除数组里面索引为1的数据

      	let arr = ["d","e","f"];
         ▲ // arr.splice(1,1);的含义:从索引为1的元素开始删除数据
          // 参数一:从什么位置开始(索引)
          // 参数二:需要删除多少个元素
          arr.splice(1,1);
          console.log(arr);//["d", "f"]
      
    • 删除数组里面除了索引为0的数据以外的所有的数据

       	let arr = ["d","e","f"];
          // arr.splice(1,2);的含义:从索引为1的元素开始删除数据
          // 参数一:从什么位置开始(索引)
          // 参数二:需要删除多少个元素
          arr.splice(1,2);
          console.log(arr);//["d"]
      
  3. 查:获取数组里面索引的数据

       let arr = ["d","e","f"];
       console.log(arr); // ["d", "e", "f"]
        console.log(arr[1]);//e
    
  4. 改:通过索引将其的数据更改

    • 将索引为2的数据修改为 “h”

       	let arr = ["d","e","f"];   
       	 arr[2] = "h";   
       	  console.log(arr); 
       	  // ["d", "e", "h"]  
       	    console.log(arr[2]);//h
      
    • 将索引为1的修改为a ,将索引为2的修改为b

         let arr = ["d","e","f"];   
          arr[1] = "a";   
           arr[2] = "b";	
           //可以将 arr[1] = "a";
           arr[2] = "b";优化为:	//达到同样的效果 	
           arr.splice(1,2,"a","b");  
             console.log(arr);  //  ["d", "a", "b"]    
             console.log(arr[1]);//a  
               console.log(arr[2]);//b 
      

数组常用方法:

  1. 怎么去清空数组

    	let arr = [2,4,6,8];    
    	// 方式一:    arr = [];   
    	 // 方式二:    arr.length = 0;    
    	 // 方式三:    arr.splice(0,arr.length);  
    	   console.log(arr);// []
    
  2. 怎么将数组转换为字符串

    	//使用toString()方法	let arr = [2,4,6,8];   
    	 let res=arr .toString();    
    	 console.log(res);//2,4,6,8    
    	 console.log(typeof arr);//object   
    	  console.log(typeof res);//String
    
  3. 怎么将数组转换为指定格式的字符串

     	let arr = [2,4,6,8];   
     	 // join方法默认情况下如果没有传递参数,那么就是调用toString()方法。  
     	  // join方法假如传递了参数进去(),那么就会将传递的参数作为元素和元素之间的连接符号。 
     	     let res=arr .join("+");   
     	      console.log(res);//2+4+6+8  
     	        console.log(typeof arr);//object  
     	          console.log(typeof res);//String
    
  4. 怎么将俩个数组拼接成一个数组

       let arr1 = [1,2,3];   let arr2 = [4,5,6];  
         //注意:数组是不可以使用加号进行拼接的,假如使用了加号进行拼接,  
         //那么首先会转换为字符串然后再进行拼接操作。 
          // 方式一:不符合要求    let str = arr1 + arr2;    console.log(str);//1,2,34,5,6  
            // 方式二:    let str = arr1.concat(arr2);    console.log(str);//[1, 2, 3, 4, 5, 6]    // 注意:扩展运算符在解构赋值里面(等于号的左边)表示的是将剩余的数据打包成一个新的数组   
             // 扩展运算符在等于号的右边,表示的是将数组里面所有的数据解开,放到所在的位置   
              // 方式三:▲ 企业开发中推荐使用的方法    let res = [...arr1 , ...arr2];//    console.log(res);   //[1, 2, 3, 4, 5, 6]    console.log(typeof res);//Object  
                // 注意:会将生成的一个新的数组返回,不会修改(改变)原有的数组    console.log(arr1);// [1, 2, 3]   
                 console.log(arr2);// [4, 5, 6]
    
  5. 怎么对数组里面的内容进行反转

        // [1, 2, 3, 4, 5, 6] 反转为 [6, 5, 4, 3, 2, 1]  
          let arr = [1, 2, 3, 4, 5, 6];    let res = arr.reverse();    console.log(res);//[6, 5, 4, 3, 2, 1]    // 注意:会修改原有的数组    console.log(arr);//[6, 5, 4, 3, 2, 1]
    
  6. 怎么截取数组里面的指定范围的内容

     	let arr = [1,2,3];    // slice()方法是包头不包尾的(就是包含起始位置,不包含结束的位置)   
     	 let res = arr.slice(1,2);   
     	  console.log(arr);// [1, 2, 3]   
     	   console.log(res);// [2]
    
  7. 怎么查找某一个元素在数组里面的位置

    推荐使用indexOf()和lastindexOf()方法查找元素      
      let arr=[1,2,3];       
       // indexOf方法假如找到指定的元素(索引从0开始),那么就会返回运算对应的位置       
        // 假如没有找到指定的元素,那么就会返回-1        let msg=arr.indexOf(2);      
          console.log(arr);//[1,2,3]         console.log(msg);//1        let arr1=[1,1,2,3];        
          // 注意点:indexOf方法默认从左至右查找元素,并且一旦查到指定的元素之后就会停止查找    
              let msg1=arr1.indexOf(1)        console.log(arr1);//[1,1,2,3]         console.log(msg1);//0       
               //  indexOf(a,b);可以具有两个参数        //  参数a:需要查找的元素        //  参数b:从什么位置开始查找     
                  // 注意点:lastIndexOf方法默认从右至左查找元素,并且一旦查到指定的元素之后就会停止查找         let msg1=arr1.lastIndexOf(1)         console.log(arr1);//[1,1,2,3]         console.log(msg1);//1 说明默认从右至左查找元素
    
  8. 怎么去判断数组里面是否包含了某一个元素

    推荐使用includes()方法判断      
       let res=[2,4,6,8];      
         //  可以通过indexOf和lastIndexOf的结果,进行判断是否为-1即可        let ass=res.indexOf(9);      
           let ass2=res.lastIndexOf(9);	
           	// include()判断数组中是否存在某元素,如果存在输出true。如果不存在输出false      
           	  let ass3=res.includes(6);        console.log(ass3);//true        let ass4=res.includes(9);        console.log(ass4);//false
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值