每日一结(10.24)

一、创建数组

1.字面量创建

      var arr1 = ["1","2","3"];

      console.log(arr1);

2.使用new关键字创建

      var arr2 = new Array["1" , "2" , "3"];

      console.log(arr2);

3.获取数组中的内容 数组[下标] 下标是从0开始

      console.log(arr1[0]);//"1"

4.通过下标的添加 数组[下标] = 值

      arr1[3] = "哈哈";

      console.log(arr1);//["1","2","3".'哈哈']

5.注意事项

  (1):使用new关键字创建数组的时候 如果创建元素只有1个并且是number类型,意味着创建length值为n的空属性

      var arr3 = new Array(3);

      console.log(arr3);//[empty *3]

  (2):arr1.属性名 = 属性值

      arr1.name = "zs";

      console.log(arr1.name);

二、数据分类依据

 type数据类型:数据结构比较单一,数据是存储在变量中的

   number类型的数据    number

   string类型的数据    string

   boolean类型的数据   boolean

   undefined类型的数据 undefined

   null类型的数据      object

复杂数据类型:数据的结构比较复杂 变量中存储的是 内存地址 内存地址才会指向数据,如果共用一个内存地址,会出现一改全改的问题

    objict类型数据    object

    array类型的数据   object

    function函数     function

1.基本数据

例如:

    var a  = 10;

    var b = a;

    b = 20;

    console.log(a,b)//10,20

2.复杂数据类型

例如:

    var arr1 = ["嘻嘻" , "哈哈" , "呵呵"];

    var arr2 = "滴滴滴滴";

    console.log(arr1 , arr2);// ["嘻嘻" , "哈哈" , "滴滴滴滴"] ["嘻嘻" , "哈哈" , "滴滴滴滴"]

三、深浅拷贝

深浅拷贝问题只针对于复杂数据类型

1.浅拷贝 会出现一些全改的问题

2.深拷贝

通过for循环将arr1中的内容赋值过去

四、数组的方法

 length 获取数组的长度

    var arr = [1,2,3,4];

    console.log(arr.length);//4

添加和删除

添加push() unshift()

删除pop() shift()

1.数组.push() 在数组的尾部添加一个或者多个数据 并且返回最新数组的长度

2.数组.pop 在数组尾部删除一个元素 返回被删除的数据

3.数组.unshift() 在数组的头部添加一个或者多个数据 并且返回最新数组的长度

4.数组.shift() 在数组的头部删除一个元素 返回被删除的数据

5.数组.splice(start,count,items)

删除数组中一串连续的数组元素,被删除的元素会组成一个新的数组返回,使用items替换

start 开始下标 必需 count 删除的个数 items是替换的元素 如果不传count 删除到最后

6.indexof:查找元素在数组中首次出现的位置 如果找到则是返回下标位置 找不到返回-1

7.join和字符串对象中split是搭配使用的

(1)字符串.split(分割标识) 字符串根据分割标识 将数据分割出来并组成一个新的数组

(2)数组.join(组合标识) 数组根据组合标识组成一个新的字符串

8.reverse 反转数组

9.concar 将多个数组或者元素组合成一个新的数组

10.slice(start,end) 截取数组中一连串的元素并且组成一个新的数组返回 包含开始下标不会包含结束下标

五、数组去重

1.indexof去重

indexof:查找元素在数组中首次出现下标的位置 如果找不到则是返回-1

什么时候会将元素push到newArr? 当前这个元素在newArr中找不到会push进去

2.splice去重

当前元素依次和后面做比较 如果相等,就将重复元素删除

六、排序

1.选择排序

拿一个元素一次和后面的元素做比较 如果后面的元素比较少 或交换位置

var arr = [10,0,7,1,41,3,18,5]

    for(var i = 0;i <arr.length;i++){

        for(var j = i+1; j < arr.length;j++){

            if(arr[i] > arr[j]){

                var temp = arr[i];

                arr[i] = arr[j];

                arr[j] = temp;

                }

            }

        }

console.log(arr);

2.冒泡排序

相邻的两个元素进行比较 如果后面的元素比较小就交换位置

for(var i = 0;i <arr.length-1;i++){

     // i = 0 1 2 3

    for(var j = 0;j <arr.length-1-i;j++){

        if(arr[j] > arr[j+1]){

            var temp = arr[j];

            arr[i] = arr[j+1];

            arr[j+1] = temp;

        }

    }

}

 console.log(arr);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值