JS07

    技术2022-07-12  94

    今日知识点:

    1、 数组:一个变量存储多个数据 // 数组的2种声明方式 (重点) 1) // 直接定义 var arr = []; 2) 使用构造函数创建数组 var arr = new Array();** 注意: **// 判断数组的方式 Array.isArray() 2. // 数组的属性 // length 获取长度 改变长度 3、 // 数组的索引 [] 索引 是获取数组里面的值的方式 0开始 length - 1 结束

    案例:随机抽取数组里面的一个值

    案例:生成一个20位的数组,里面的值是0-100的随机数

    4、 数组的遍历 1)for 2)专门用于数组和对象: for…in for…of (重点) 5、数组的常用方法如下

    案例:随机抽取数组里面的一个值 分析:抽取数组里面的值必须通过角标 随机数的范围 0 - (length-1)

    var num = rand(0,arr.length - 1); document.write(arr[num]) function rand(min,max){ return Math.round(Math.random() * (max - min)) + min; }

    案例:生成一个20位的数组,里面的值是0-100的随机数

    分析: // 1 声明一个空数组 // 2 把长度定义为20 // 3 产生0-100的随机数 // 4 把产生的随机数给数组 第二种方法:arr2[i] = num var arr2 = new Array(); arr2.length = 20; for(var i = 0 ; i < 20 ; i++){ var num = rand(0,100); arr2[i] = num //随机数赋值给数组里面的每一个数 } console.log(arr2) 第三种方法: arr3[arr3.length] = num; var arr3 = []; for(var i = 0 ; i <20 ; i++){ var num = rand(0,100); //当i=0时,arr3.length=0, //所以arr3.[arr3.length]等价于arr3[0]=num,也就是arr3的索引为0项的数字//为0到100的随机数 arr3[arr3.length] = num; } console.log(arr3)

    访问数组的方法(3种方法) 第一种:for

    for(var i = 0 ; i < arr.length ; i++){ document.write(arr[i] + '<br>') }

    第二种: for…in 主要是用来访问数组和对象的**角标 arr[i]

    // i是角标 for(var i in arr){ document.write(arr[i]) }

    第三种** *for of item指的值 主要是用来访问数组和对象的值 value

    for(var value of arr){ document.write(value) }

    数组的常用方法

    1、push在数组的结尾追加一个或者多个数据,返回的是新数组的长度

    var s = arr.push(1,67,89); console.log(s);

    2、 pop 删除数组里面的最后一个值 一个!!!!

    1、 pop里面写参数没有用 2、 实际上返回的是被删除的数据 var res = arr.pop(); console.log(arr);

    3、 unshift 在数组前面追加数据 ,并返回数组的长度

    var s = arr.unshift('a','b'); console.log(arr,s)

    4、 shift 在前面删除一个数据,返回被删除的数据

    var s = arr.shift(); console.log(arr,s)

    5、 **数组反向

    arr.reverse();** console.log(arr)

    6、 sort 自动升序排列,但是是按照字符串的升序来排序的 – 看第一位数字

    var arr = [67,45,3,1,9,66]; console.log(arr.sort()); // arr.sort() --- function(a,b){return a - b} console.log(arr.sort(function(a,b){return b - a}));

    7、JOIN方法的案例: 题目:编写函数join(arr, char)用指定的符号将数组进行拼接,返回拼接后的字符串 // join([1,2,3,4], ‘+’) => ‘1+2+3+4’ arr = [‘h’,‘e’,‘l’,‘l’,‘o’]; 第一种方法: console.log(arr.join(’+’)) // console.log(join(arr,’+’)) 第二种方法:函数封装并使用 if else****如下 第三种方法:函数封装并使用if 及break如下

    function join(arr,char){ var str = ''; // 把数组遍历一遍,挨个拼接 for(var i in arr){ if(i == arr.length - 1){ str += arr[i]; break } str += arr[i] + char // else { // str += arr[i] + char // } } return str } console.log(join([1,2,3,5],'&'));

    8、indexOf案例 题目:编写函数indexOf(arr, item)判断并返回item这个元素首次出现的下标,如果不存在返回-1 第一种方法:for in

    function indexOf(arr,item){ // // 把数组里面的值挨个儿比一遍 for(var i in arr){ if(item == arr[i]){ return i } } return -1 } console.log(indexOf([1,2,3,4,5],4))

    第二种方法:for

    function indexOf(arr,item){ // 把数组里面的值挨个儿比一遍 for(var i = 0 ; i < arr.length ; i++){ if(item == arr[i]){ return i } else if(i == arr.length - 1){ return -1 } } } console.log(indexOf([1,2,3,4,5],4))

    9、多维数组案例(略)

    Processed: 0.009, SQL: 9