JS07

今日知识点:

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、多维数组案例(略)

猜你喜欢

转载自blog.csdn.net/weixin_48651630/article/details/107076806
今日推荐