分享

数组

 印度阿三17 2019-12-01
一.数组的概念         一组数据,数据的组合     那些数据的组合,只要是数据(数据),就可以放在数组中   数组的意义:     可以同时操作多个数据   二.数组的创建和使用     1. 创建:             字面量:var arr = []             构造函数:var arr = new Array();     var arr = [234,"hello"];     var arr2 = new Array(233,"hello")     console.log(arr)          // 234  hello     console.log(arr2)         // 234  hello     console.log(arr == arr2)    // false 任何两个对象都不相等              任何两个对象都不相等     区别:当只有一个数据,还是数值时,字面量会在数组中保存这个值 构造函数会将这个数值作为长度 var arr = [6]; var arr2 = new Array(6); console.log(arr);     //[6] console.log(arr2);      // [empty*6]   当new Array(1,2,3)-->[1,2,3] console.log(arr.length)   //1 console.log(arr2.length)   //6            三.数组的操作:            1. 索引操作: var arr = ["hello","world"];                 增:给并不存在的索引赋值 arr[5] = 1;        console.log(arr[5]);      //1 console.log(arr);           //["hello","world",empty*3,1];                 删: console.log(arr.length)         //2 arr.length = 1;                 console.log(arr)                ["hello"]                 改: console.log(arr[0]);    //hello arr[0] = "aaaa"                        //【】将第几位的字符改变 console.log(arr)                    //["aaaa","world"]                 查:数据的遍历 console.log(arr[0])      //hello console.log(arr[1])      //world for(var i = 0;i<arr.length;i ){         console.log(arr[i])     //全部打印出来 }    2.方法操作: var arr = ["hello","world"]; console.log(arr)                    //["hello","world"]  方法:对象中的函数属性 push:在数组的最后增加 arr.push(3,4,5,6,7)             console.log(arr)    //["hello","world",3,4,5,6,7] pop:删除数组的最后一位数据 arr.pop(); console.log()   //["hello"]   unshift:在数组的开头增加 arr.unshift(3,4,5,6,7) console.log(arr)           //[3,4,5,6,7,"hello","world"] shift:删除数组的第一位数据 arr.shift();    //["world"] var arr = ["hello","aa","bb","cc","dd","world"]; splice(start,num,replaceDate1,replaceDate2,.........)至少有三个 arr.splice(m,n)        //m 【0,1,2.。。】 arr.splice(2,1)     //删除指定位置  ["hello","aa","cc","dd","world"]  arr.splice(2,1,"js")  //删除并替换一个或多个   ["hello","aa","js","dd","world"]   arr.splice(2,1,"js","ESCA")  arr.splice(2,0,"js",...)  //在指定位置新增一个或多个 ["hello", "aa", "js", "bb", "cc", "dd", "world"]                     //(m,n)m 第m个位置开始删除   删除n个 n个字符  “  ”删除的位置添加新元素     slice(m,n):截取,从索引m,截取到索引n前一个 var arr = [5,61,17,28,9,19,16,18]; console,log(arr); var a = arr.slice(2,6);      //[17,28,9,19] var a = arr.slice(3,7);        //[28,9,19,16] console.log(a)   sort():字符的排序,逐位比较 arr.sort(function(a,b){     return a-b;       //降序 [5, 9, 16, 17, 18, 19, 28, 61]     return b-a;        //升序 [61, 28, 19, 18, 17, 16, 9, 5] }); console.log(arr)   四.数组的操作方法      方法:函数,处理数据      功能:观察提现    处理数据:找返回值      数组的方法:               功能:关注其执行结果               操作数据类:关注其返回值     功能方法没有必要关注返回值     但是功能方法可以有返回值   *随机数:Math.random() //Math.radom()随机抽取0~1的小数//   for(var i = 0;i<10;i ){           Math.round()遇到小数四舍五入      , parseInt()遇到小数则向下     console.log(Math.round(Math.random()*(10-1) 1)) }                                                          a,,b无需按大小顺序编写     function random(a,b){             Math.round(Math.random()*(a-b) b);          } i为次数    结果得到a~b i个随机数                五.数组的排序:sort(function(){})   数组的排序方式     冒泡排序:两两比较 var arr=[5,7,2,9,1] //0-1 1-2 2-3 3-4     0~length-1  -0  原本的次数 //0-1 1-2 2-3        (0~length-1) -1    少执行1次 //0-1 1-2            (0~length-1)-2        //0-1                (0~length-1)-3 长度   length 比了length-1轮    length-1行 多行多列 循环嵌套                                次数,外层循环控制行  length-1    for(var i=0;i<arr.length-1; i ){                                   内层循环控制列      随着i次数增大    j执行次数 3210         for(var j=0;j<arr.length-1 -i){                 if(arr[j]>arr[j 1]){   ---->两两相比                     var ls=arr[j];                     arr[j]=arr[j 1];       ------>互换位置                     arr[]j 1] = ls;                     }           } } console.log(arr);       冒泡排序     选择排序:将第一位和后面所有相比较,最小的交换在第一位                         一轮比下来,第一位数最小 var arr=[6,2,9,1,7,3]       //第一轮 6和后面所有的数比较 最小的2在前面 0-1 0-2 0-3 0-4 0-5        0-length-1 1-2 1-3 1-4 1-5            1-length-1 2-3 2-4 2-5                2-length-1 3-4 3-5                    3-length-1 4-5                        4-length-1 多行多列  length-1行(外层循环-1) for(var i=0;i<arr.length-1;i ){         var min = arr[i];       // 1. 假设最小值         var minIndex = i;         //2.   保存索引                 j随着i增加而增加 0到4  5次            for(var j=i 1,j<arr.length(length不能-1 ,j跟随i);j ){       当j=i=0时,会发生和自己比较,但不交换,多比了一次,因此j=i 1                 if(min>arr[j]){       //判断最小值是否为真的最小值                         当i=0,j取0~5                         min = arr[j];       //3.交换   获取真正的最小值                         minIndex = j;       // 位置        获取真正最小值的索引                 }         }          arr[minIndex] = arr[i];      // 把第一位拿出来放在最小值         arr[i] =min;                            //把最小值拿出来放在第一位 } console.log(arr)     六.数组的分类:       1.当一个数组中都是字符时,这种数组叫字符数组           var arr = ["a","b","c","d"]       2.当一个数组中都是数值时,这种数组叫数值数组           var arr = [2,3,4,5,6,7]       3.当一个数组中都是数组时,这种数组叫数组数组(二维数组)             多维数组    var arr = [["a",23,true],[67,"hello"],[false,123],["a",789]];     console.log(arr[2][1])  ---->123       4.当一个数组中都是对象时,这种数组叫对象数组(json数组) json是一种格式,目前只是借用这个名字,以此说明这个格式,而跟json自身没有关系 var arr = [{name:"admin"},{name:"zhangsan"},{name:"lisi"}] console.log(arr[1].name) ------>zhangsan 来源:https://www./content-4-582501.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多