javascript 数组&数组API

  • 、初识数组

数组:一组变量的集合,连续保存多个数据的引用类型的对象

      如何创建数组:

   1. 创建空数组   var 数组名=[];

     暂时不知道数组内容的时候,先创建再追加

   2. 创建数组的同时直接初始化内容

     var 数组名=[值1,值2,...];

  3. 创建指定个数的数组

     var 数组名=new Array(n);

     创建一个数组对象,同时初始化n个空元素

       4. 创建同时直接初始化

     var 数组名=new Array(值1,值2,...);

     注意:3,4创建数组方式不常用,因为有分歧

     var arr=new Array(7);

     可以解释为初始化了7个空元素,也可以解释为初始化了一个数组只放了一个元素值为7

   数组分类:

1). 索引数组

下标从0开始每次递增1

length - 元素个数

2). 关联数组(哈希数组)

下标可以自定义,而且下标不可重复

length - 失效

3). 二维数组 - 元素又指向另一个子数组对象

下标分为行下标和列下标,都是从0开始,每次递增1

行 - length获得数组中有多少个子数组对象

列 - length获得子数组中的元素个数

所有的数组都有下标!只不过每种数组下标特点不同

  都有length属性,length属性表示数组的长度 - 保存了多少个元素

如何获得某个元素值: var 变量=arr[下标]

如何获得数组长度: arr.length

如何获得最后一个元素值:arr[arr.length-1]

 

5、undefined与null

1). 所有仅声明未赋值的变量的默认值 - undefined

undefined为空 - 修饰原始数据类型

2). null - 修饰对象的空

null专门表示一个变量不再指向任何对象的地址了

null的用法有2种:

a). var 变量 = null; - 打标记

表示将来该变量即将指向一个对象,只是此时什么都没有指向

b). var obj = 对象;

把该对象使用完毕后,就把obj主动赋值null - 》 obj=null

将来一个变量不再指向对象了,那么可以主动赋值为null

这么做得话,就表示主动的释放内存,节省内存空间从而提高浏览器性能

内存中有个垃圾回收器,如果一个对象没有变量指向(引用),那么就会被

垃圾回收器回收,从而释放内存

js中的对象:内存中保存一组相关数据和功能的整体

对象都是new操作符创建的

new专门在内存中开辟一个空间,保存数据和功能,返回*存储地址*

  • 、数组遍历

    1、索引数组的下标从0开始,每次递增1的特性

   这个下标天生就是一个循环变量

   下标递增到<length结束 - 循环条件

 

2、冒泡排序:将数组中的元素按照从大到小(从小到大)的顺序进行排列

 

  1. 关联数组(哈希数组)

关联数组(hash哈希数组)- 可以自定义下标的数组

   关联数组的key(下标)不可重复,length属性失效

   如何遍历hash数组:  

for(var key in obj){

console.log(obj[key])

}

  • 、实现数组去重复
  • 、两种方法、
  1. 关联数组,使用关联数组的数组下标不重复的属性
  2. 数组的API;(indexOf)
  • 、使用关联数组的下标不重名的属性,演示以及案例

 

  • 、数组API     api提供了一整套定义好的方法,可直接使用
  1. .concat合并数组  var new arr=arr.concat(数组1/普通值,数组2/普通值,[数组],值)
  2. .join ()           可以把数组转化为字符串 可以自定义拼接符
  3. .toString()        可以把数组转化为字符串 不可以自定义拼接符
  4. .indexOf(元素)    判断某一个元素在数组中第一次出现的位置,如果没有返回-1
  5. .arr[元素]=值     新增/修改数组的元素  如果该下标没有元素,新增。否则就是修改 
  6. .length          获取数组的长度
  7. .Push            在数组后面追加元素,直接把数组修改了。返回的是数组的长度
  8. .Pop             删除数组最后一个元素,直接把数组修改了。返回的是删除数组的长度
  9. .Unshift          在数组前面追加元素,直接把数组修改了。返回的是数组的长度
  10. .Pop            删除数组第一个元素,直接把数组修改了。返回的是删除数组的长度
  11. .reverse();       数组反转
  12. splice(start,num,元素(可选))      start操作开始的下标位置  num删除的数量  其余元素代表在数组中插入的元素可选
  13. 数组排序

              需要自定义一些函数参数 升序  比较规则是内置的,我们只需要按照规则使用即可           arr.sort(function(a,b){return a-b});           

  降序排列

              arr.sort(function(a,b){return b-a});

    

五)、解释案例(去重)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值