[javascript权威指南][阅读笔记]五

来源:互联网 发布:centos系统还原 编辑:程序博客网 时间:2024/06/10 03:17

第七章   数组


  1. 每个值称为元素,每个位置的数字称为索引
  2. 稀疏数组就是包含从0开始的不连续索引的数组
  3. 注意,当在数组直接量中省略值时不会创建稀疏数组。当省略数组直接量中的值时,也会得到稀疏数组
  4. 数组长度的特殊行为:当定义length值为小于当前数组长度的值n时,数组中索引大于或等于n的元素将从中删除
  5. 可以将length值设为只读
  6. 当数组中有元素不可配置时,length值不能设置为小于或等于该元素的索引值
  7. 数组元素的删除(delete)不会改变length值,原位置变为undefined,高索引处的元素不会补位,此时数组变为稀疏数组
  8. 遍历数组:可以使用for/in循环处理稀疏数组,但for/in会枚举继承来的属性,可以通过hasOwnProperty()过滤
  9. 数组方法:join(),reverse(),sort(),concat(),slice(),splice(),push()/pop(),shift()/unshift()
  10. sort():数组元素以字母表顺序排序,为了按照其他方式进行排序,必须给sort()方法传一个比较函数。
  11. 这个函数决定了它的两个参数在排好序的数组中的先后顺序。
  12. 假如第一个参数应该在前,比较函数应该返回一个小于0的数值,反之返回一个大于0的数值,若相等,则返回0
  13. ECMAScript 5的数组新方法
  14. forEach():从头至尾遍历数组,并为每个元素调用指定的函数。调用函数可以输入三个参数:数组元素,元素索引,数组本身。如果只输入一个参数,默认为数组元素
  15. map():将数组的每个元素传递给指定的函数,并返回一个数组
  16. filter():返回的数组元素是调用的数组的一个子集。传入的函数是用来逻辑判定的,返回值true或者false。如果返回值为true或能转换为true的值,则判定该元素是这个子集的成员
  17. every()和some():传入的函数作为逻辑判定,返回true或false。every()为“任意”,some()为“存在”。空数组调用every()返回true,调用some()返回false
  18. reduce()和reduceRight():使用指定的方法将数组元素进行组合,生成单个值
  19. reduce()需要两个参数,第一个是执行化简操作的函数,第二个是传给函数的初始值(可选)
  20. indexOf()和lastIndexOf():搜索整个数组中具有给定值的元素,返回找到第一个元素的索引
  21. 数组类型:Array.isArray()或者调用class()函数
  22. 类数组对象:Arguments对象,getElementsByClassName()返回的
  23. 作为数组的字符串:字符串是不可变值,是只读的

0 0
原创粉丝点击