JavaScript 第三课笔记

十二、数组

程序=数据结构+算法
数组元素的访问:通过下标访问

var mArray = []
mArray[0] = 'lanmx'
var mArray = new Array()
mArray[0]='lanmx'

数组GET操作:获取数组元素

数组SET操作:修改数组元素

数组length属性:数组名.length:数组的长度

数组的遍历:用for循环,元素下标作循环变量

数组固定套路

  1. 获取数组最后一个元素:arr[arr.length-1]
  2. 获取倒数第n个元素的位置:arr[arr.length-n]
  3. 数组缩容:减少arr.length的数值,会删除结尾的多余元素

关联数组的创建方式

var bookInfo = [];
bookInfo['bookName'] = '西游记'
bookInfo['price'] = 34.6

关联数组的length属性值无法获取其中元素的数量,所以遍历关联数组只能用for…in循环

for(var key in hash){
   //key只是元素的下标名
   hash[key];//当前元素值
}

索引数组与关联数组的区别

  1. 索引:遍历、受存储位置影响、受数组元素个数影响
  2. hash数组:不用遍历、与存储位置无关、和数组中元素无关。所以,如果希望快速查找元素,就用hash数组
十三、数组API函数

数组转字符串

  1. String(arr):将arr中每个元素转为字符串,用逗号分隔
  2. arr.join(“连接符”):将arr中每个元素转为字符串,用自定义的连接符分隔
  3. chars.join(""):无缝拼接,将字符组成单词
  4. arr.join("")=="":判断数组是空数组
  5. words.join(" "):将单词组成句子

拼接和选取

  1. 拼接:concat()拼接两个或更多的数组,并返回结果
  2. 选取:slice()返回现有数组的一个子数组
var subArr=arr.slice(starti.endu+1);
//选取arr中starti位置开始,到endi结束的所有元素组成新数组返回,原数组保持不变
  1. 强调:凡是两个参数都是下标的函数,都有一个特性:含头不含尾
var arr1 = [10,20,30,40,50];
var arr2 = arr1.slice(1,4);
//结果是20,30,40
  1. 一直选取到结尾,可省略第二个参数
  2. 如果选取的元素离结尾近:可用倒数下标
`arr.slice(arr.length-n,arr.length-m+1)`;
可简写为arr.slice(-n,-m+1);`

修改数组

  1. 删除:splice直接修改原数组
arr.splice(starti,n)
//删除arr中starti位置开始的n个元素不考虑含头不含尾
  1. 插入
arr.splice(starti,0,1,2,...);
//在arr中starti位置,插入新值1,值2,0的意思是删除0个元素。```
  1. 替换:其实就是删除旧的,插入新的
arr.splice(starti,n,1,2,...)
//先删除arr中starti位置的n个值,再在starti位置插入新值

颠倒数组
reverse()颠倒数组中元素的顺序

arr.reverse();

排序API
arr.sort():默认将所有元素转为字符串再排序
排序算法:冒泡、快速、插入排序

下一节:JavaScript第二课笔记
下一节:JavaScript第四课笔记

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值