javaScript基础-数组操作(一)

84 阅读2分钟

一:数组基本介绍

01(1).png

1.什么是数组?

具有相同类型(或者不同类型)的数据有序集合 ,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引/下标。js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组。

image.png

2.数组有什么用?

在程序中通过数组可以一次保存多条数据 (保存数据)

3.数组怎么用?
a)定义数组
  • 构造函数方式创建数组
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
        var 数组名 = new Array();


        例如:
        var ary = new Array();
        console.log(ary);
        
     </script>
</body>
</html>

  • 字面量方式创建数组
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
        var 数组名 = [];

        例如:
        var ary = [];
        console.log(ary);
        
     </script>
</body>
</html>
  • 总结

构造方式创建数组和字面量方式创建数组二者本质一样,字面量方式创建数组是构造函数创建数组的语法糖写法

b)数组赋值
  • 构造函数方式创建数组赋值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
        var 数组名 = new Array(值1, 值2, 值3);


        例如:
        var ary =new Array('张三', 123, true);
        console.log(ary);
        
     </script>
</body>
</html>
  • 字面量方式创建数组赋值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
        var 数组名 = [值1, 值2, 值3];


        例如:
        var ary = ['呵呵呵', 123, true, undefined];
        console.log(ary);
        
     </script>
</body>
</html>
  • 通过索引方式数组赋值

    什么是数组索引?

    1.  数组索引: 数组中每一个元素(值)都有一个对应的编号,这个编号叫索引或者下标
    2.  数组中的索引值从0开始
    

image.png

  • 通过索引方式给数组赋值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
       
        var ary = [];
            ary[0] = '呵呵呵';
            ary[1] = 123;
            ary[2] = true;
        console.log(ary);



        var ary1 = new Array();
            ary1[0] = '嘻嘻';
            ary1[1] = 123;
            ary1[2] = undefined
        console.log(ary1)
        
     </script>
</body>
</html>
c) 获取数组中的值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        // 通过索引的方式获取数组中的值
        数组名[索引];

       //例如:
        var ary = [1, 2, 3, 4, 5, 6];
        ary[0];
        ary[1];
        ary[2];
        
     </script>
</body>
</html>
  1. 获取数组中的值通过索引的方式获取
  2. 如果获取不存在的值,则得到的结果是undefined
d) 遍历数组
什么是遍历数组?
     1.  遍历数组即通过循环的方式获取数组中的每一个值
为什么要遍历数组?
     1.  通过循环的方式遍历数组可以快速的获取数组中的值,提高程序效率    

     //如何遍历数组
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
      
    </head>
    <body>
         <script>
            
           
            var ary = [1, 2, 3, 4];
            for(var i = 0; i < ary.length; i++) {
                ary[i]
            }
            
         </script>
    </body>
    </html>
    
    1.  遍历数组的时候,索引从0开始
    2.  length数组属性,用来获取数组中值的个数(数组的长度)
   

e)数组的增删改查

1.向数组末尾增加值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        数组名[数组名.length] = 值;  

        // 例如:
        var ary = [1, 2, 3, 4];
        ary[ary.length] = 'ddd';
        console.log(ary);
        
     </script>
</body>
</html>

2. 向数组开始增加值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        var ary = [1, 2, 3, 4];
        
        // ary[4] = ary[3];
        // ary[3] = ary[2];
        // ary[2] = ary[1];
        // ary[1] = ary[0];
        // ary[0] = 'ddd';
        // console.log(ary);

    	  // 或者
        for(var i = ary.length; i >0; i--) {
            ary[i] = ary[i-1];
        }
        ary[0] = 'ddd';
        console.log(ary);
     </script>
</body>
</html>

3. 向数组中间位置增加值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
       
        var ary = [1, 2, 3, 4];
        
        // ary[4] = ary[3];
        // ary[3] = ary[2];
        // ary[2] = ary[1];
        // ary[1] = 'ddd';
        // console.log(ary);


        for(var i = ary.length; i >1; i--) {
            ary[i] = ary[i-1];
        }
        ary[1] = 'ddd';
        console.log(ary);
        
     </script>
</body>
</html>

1.从数组末尾删除一个值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
       
        var ary = [1, 2, 3, 4];
        
        ary.length--
        console.log(ary)
        
     </script>
</body>
</html>

2.从数组开始删除一个值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
       
        var ary = ['a',1, 2, 3, 4];
        // ary[0] = ary[1];
        // ary[1] = ary[2];
        // ary[2] = ary[3];
        // ary.length--;
        // console.log(ary);
        
        for(var i = 0; i < ary.length; i++) {
            ary[i] = ary[i+1];
        }
        ary.length--;
        console.log(ary);
        
     </script>
</body>
</html>

3.从数组任意位置删除值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
       
        var ary = ['a',1, 2, 3, 4];
        // ary[1] = ary[2];
        // ary[2] = ary[3];
        // ary[3] = ary[4];
        // ary.length--;
        // console.log(ary);


        for(var i = 1; i < ary.length; i++) {
            ary[i] = ary[i+1];
        }
        ary.length--;
        console.log(ary);
        
     </script>
</body>
</html>

4.删除数组中的所有值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        var ary = ['a',1, 2, 3, 4];
        ary.length = 0
        console.log(ary)
     </script>
</body>
</html>

修改数组中的值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        
       // 数组名[索引] = 值;

       // 例如:
        var ary = ['a',1, 2, 3, 4];
            ary[0] = 'A';
        console.log(ary);
        
     </script>
</body>
</html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  
</head>
<body>
     <script>
        // 获取数组中的值
        数组名[索引]

        // 例如:
       
        var ary = ['a',1, 2, 3, 4];
        console.log(ary[0]);
        
     </script>
</body>
</html>