js 数组

282 阅读2分钟

1.数组的定义与作用

  1. 数组是可以把一组相关的数据一起存放,并提供方便的访问方式
  2. 数组就是指一组数据的组合,其中的每个数据被称为元素
  3. 在数组中可以存放任意类型的元素
  4. 数组是一种将一组数据存储在单个变量名下的一种方式!!!

2.数组的创建

2.1数组的定义方式

var arr = [];
Array中的A大写!!!
var arr = new Array();

2.2数组的索引

arr[0~n]数组的索引是从0开始的

2.3数组的长度

arr.length;
数组的长度是从1开始的

2.4数组的分割;

数据之间一定要用‘,’分割,数组元素。
var arr = [1, 2, "你好,世界", true];

3.数组常用的几种形式

3.1遍历数组

    <script>
        //遍历数组
        var arr = ['red', 'yellow', 'blue'];
        for(var i=0; i < arr.length; i++){
            console.log(arr[i]);
        }
    </script>

3.2 将数组转化为字符串;

<script>
        var arr = ['red', 'blue','yellow','green'];
        var str = '';
        for(var i = 0 ; i <arr.length; i++){
            str += arr[i] +'-'
        }
        console.log(str);
</script>

3.3 给数组新增元素

<script>
        // 数组新增元素
        // 从1添加到100
        var arr = [];//定义一个空的数组
        for (var i = 1; i <= 100; i++){
            arr[arr.length] = i;
        }
        console.log(arr);
    </script>

3.4数组元素的筛选

    <script>
          // 把数组中大于等于10的数组元素全部选出来,并且放到新的数组中去
          var arr =[2, 0, 6, 1, 77, 0, 53, 25, 7, 0];
          var newArr = [];//定义一个新的数组
          for(var i = 0 ; i < arr.length; i ++){
              if (arr[i]>= 10){
                  newArr[newArr.length]= arr[i];
              }
          }
          console.log(newArr);
    </script>

3.5数组元素的去重

    <script>
        //简单去重 即一个数组中只有一个重复的数值
        var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var newArr = [];
        for(var i = 0 ; i < arr.length ; i ++){
            if(arr[i] != 0  ){
                newArr[newArr.length]= arr[i];
            }
        } 
        console.log(newArr);
    </script>

3.6将数组元素进行翻转

    <script>
        // 将数组元素进行翻转
        var arr = [1, 2, 3, 4, 5, 6];
        var newArr = []; 
        for(var i = arr.length-1 ; i >= 0; i--){
            newArr[newArr.length]= arr[i];
        }
        console.log(newArr);
    </script>

3.7冒泡排序

 //从大到小
        var arr =[6,92,300,38,20,56];
        for (var i = 0 ; i < arr.length-1; i++){
            for (var j = 0 ; j < arr.length-1-i ; j++){
                if(arr[j]<arr[j+1]){
                    var initnum = arr[j+1];//过渡值
                    arr[j+1]= arr[j];
                    arr[j]=initnum;
                }
            }
        }
        console.log(arr);

两个数交换位置 从小到大 从大到小

从小到大

第一个数大于第二个数 10 8
if(arr[a]>arr[b];){
    c = arr[a];// c= 10
    arr [a] = arr[b]; // 8 8 将第二个值赋给第一个
    arr[b] =c;// 8 10 将原来的第一个值赋给第二个
}

从大到小

第一个数小于 第二个 互换位置 8 10
if(arr[a]<arr[b]){
    c= arr[a];//c=8
    arr[a] = arr[b];// 10 10 
    arr[b] = c;// 10 8
}