1.数组的创建
如:
var a=[1.1,null,"a"];
var b=[1, ,3]; //中间的那个元素是undefined
var c=[ , , ]
这里c.length你是不是以为是3?
哈哈,长度应该是2.因为数组直接量的语法允许有可选的结尾逗号。
 
2.数组索引的其他种类
a[-1.23]=true    //创建一个名为-1.23的属性
a["1000"]=0    //如果是字符串,它就转换为数组的索引
a[1.000]    //和a[1]相等
JavaScript中没有数组越界的概念,只会得到undefined值。
 
3.数组长度的特殊行为
a=[1,2,3,4];
a.length //
a.length=3 //现在a=[1,2,3]
a.length=0 //现在a=[];
设置length属性为一个小鱼当前长度的非负整数时,当前数组中那些索引值大于或等于n的元素将从中删除
 
4.forEach()和相关的便利方法使得数组拥有简单而强大的函数式编程风格。
如:
var data=[1,2,3,4,5]
var sumOf=0;
data.forEach(function(x){ //把每个元素传递给此函数
sumOf+=x*x;
})
sumOf //
 
5.JavaScript不支持真正的多位数组,可以用数组的数组来近似。
 
6.数组与其他JS对象一样拥有toString()方法。
如:
[1,2,3].toString()    //生成'1,2,3'
["a","b","c"].toString() //生成'a,b,c'
 
 
7.ECMAScript5定义了9个新的数组方法来遍历,映射,过滤,检测,简化和搜索数组。
一:forEach
 
二:marp()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组
如:
a=[1,2,3];
b=a.map(function(x){
return x*x;
})
//b是[1,2,9]
 
三:filter()
 
四:every()和some()
every()用法:
a=[1,2,3];
a.every(function(x){
x<10;
})
//返回true,所有值小于10
 
some()用法:
a=[1,11,12];
a.some(function(x){
x<10;
})
//返回true,只要有一个小于10即可返回true
 
五:reduce()和reduceRight()
 
六:indexOf()和lastIndexOf()
 
8.字符串当做数组看待时,他们是只读的。
如push,sort等数组的方法会修改数组,他们在字符串上是无效的。而且使用这些方法来修改字符串会导致出错:出错的时候没有提示。
 
 
 
 
 
 
 

JavaScript权威设计--JavaScript数组(简要学习笔记九)的更多相关文章

  1. JavaScript权威设计--事件处理介绍(简要学习笔记十七)

    1.事件相关概念 事件类型:一个用来说明发生什么类型事件的字符串 事件目标:是发生的事件或与之相关的对象. 事件处理程序(事件监听程序):是处理货响应事件的函数. 事件对象:是与特定事件相关并且包含有 ...

  2. JavaScript权威设计--Window对象(简要学习笔记十三)

    1.Window对象是所有客户端JavaScript特性和API的主要接入点. Window对象中的一个重要属性是document,它引用Document对象. JavaScript程序可以通过Doc ...

  3. JavaScript权威设计--JavaScript函数(简要学习笔记十一)

    1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScri ...

  4. JavaScript权威设计--JavaScript函数(简要学习笔记十)

    1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"lik ...

  5. javascript权威指南第6版学习笔记

    javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console ...

  6. JavaScript权威设计--JavaScript对象(简要学习笔记七)

    1.with语句 语法: width(object){ statement } with语句可用于临时扩展作用域链.作用域链可以按序检索的对象列表,通过它可以进行变量名解析. with将object添 ...

  7. JavaScript权威设计--JavaScript类型,值,变量(简要学习笔记三)

    1.负号是一元求反运算 如果直接给数字直接量前面添加负号可以得到他们的负值     2.JavaScript中的运算超出了最大能表示的值不会报错,会显示Infinity. 超出最小也不报错,会显示-I ...

  8. JavaScript权威设计--JavaScript脚本化文档Document与CSS(简要学习笔记十五)

    1.Document与Element和TEXT是Node的子类. Document:树形的根部节点 Element:HTML元素的节点 TEXT:文本节点   >>HtmlElement与 ...

  9. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

随机推荐

  1. Python列表去重

    标题有语病,其实是这样的: 假设有两个列表 : L1 = [1,2,3,4] ; L2 = [1,2,5,6] 然后去掉L1中包含的L2的元素 直接这样当然是不行的: def removeExists ...

  2. 前端常用的WindowsCMD命令

    前面的话   在网上找了一些关于命令提示符CMD的资料,但是很多资料都是把所有的功能罗列出来,大部分都不会用到.所以,自己把常用的CMD命令总结如下,方便查阅 操作类 help 列出所有支持的指令及说 ...

  3. 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. [原]一个针对LVS的压力测试报告

    LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...

  6. FreeMarker:怎么使用

    第一个FreeMarker程序 1. 建立一个普通的java项目:testFreeMarker 2. 引入freemarker.jar包 3. 在项目目录下建立模板目录:templates 4. 在t ...

  7. Flexible 弹性盒子模型之CSS flex-flow

    实例 让弹性盒的元素以相反的顺序显示,且在必要的时候进行拆行: display:flex; flex-flow:row-reverse wrap;   效果预览 浏览器支持 表格中的数字表示支持该属性 ...

  8. Postman - 功能强大的 API 接口请求调试和管理工具

    Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...

  9. 用angular怎么缓存父页面数据

    angular做单页面应用是一个比较好的框架,但是它有一定的入门难度,对于新手来说可能会碰到很多坑,也有许多难题,大部分仔细看文档,找社区是能解决的. 但有些问题也许资料比较少,最近遇到过一个要缓存父 ...

  10. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...