20200831冯佳丽-2

学习日志

今日所学:

一、斐波那契数

第一种:
      function fb(n){
         if(n==1||n==2){
             return 1
         }
         return fb(n-1)+fb(n-2)
    }
    console.log(fb(6))
第二种:
 var n = parseInt(prompt());
     var first = 1,second = 1,third;
     if (n > 2) {
        for (var i = 0; i < n - 2; i++) {
            third = first + second;
            first = second;
            second = third;
        }
        console.log(third);
     } else {
        console.log(1);
     }

二、存取10个随机数

     var arr=[]
     for(i=0;i<10;i++){
         arr[i]=Math.floor(Math.random()*90+10)
     }
     console.log(arr)

三、数组

1、创建数组
2、数组元素的访问

数组[下标] arr[i]

注:三个不限制:1、不限制元素数据类型

​ 2、不限制下标越界

​ 3、不限制元素的个数

3、数组的长度

​ 数组名.length

for(var i=0;i<arr.length;i++){
arr[i]; //当前数组元素
}

4、数组分类
索引数组

索引数组以0开始的整数作为下标

关联数组

关联数组使用字符串作为下标,关联数组中的元素只能单独添加

​ 创建关联数组

​ 1、创建空的数组 var hash=[]

​ 2、向数组中添加新元素 hash["下标名/key"]=值

​ 关联数组遍历

   for(var key in hash){
         key                //仅获取当前下标名称
         hash[key]     //获取当前元素值
   }
5、数组中的方法
a、 数组转字符串

String(arr) arr.toString() arr.join("连接符")

b、 拼接和截取数组

拼接:var newArr=arr1.concat(值1,值2,arr2,....)

截取:var subArr=arr.slice(start,end);

c、修改数组

删除元素 arr.splice(start,n)

插入元素 arr.splice(start,0,值1,值2,...)

替换元素 arr.splice(start,n,值1,值2...)

d、翻转数组中的元素

arr.reverse()

e、使用es6语法

arr.sort(function(a,b){
// return a-b; //从小到大排列
// return b-a; //从大到小排列
})

转化为:

arr.sort((a,b)=>a-b)

四、字符串

1、包装对象

​ 目的是为了让原始类型可以像引用类型数据一样,具有属性和方法,但本质上还是原始类型

​ JS中包装对象有三种:String、Number、Boolean

2、string API

将任意的类型转化为字符串 new String()/ String()

获取字符串的长度 str.length

大小写转化 str.toUpperCase()/str.toLowerCase()

获取指定位置字符 var char=str.charAt(i) var unicode=str.charCodeAt(i) var char=String.fromCharCode(unicode)

查找某个字符出现的位置下标

今日感受:

​ 今日学习很多内容,很难,还是多多练习吧!

评论