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. 平台之大势何人能挡? 带着你的Net飞奔吧!

    镇楼图: 跨平台系列: Linux基础 1.Linux基础学习 By dnt http://www.cnblogs.com/dunitian/p/4822807.html 环境配置 1.Hyper-v ...

  2. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  3. Python标准模块--Iterators和Generators

    1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...

  4. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  5. SDWebImage源码解读之SDWebImageCache(上)

    第五篇 前言 本篇主要讲解图片缓存类的知识,虽然只涉及了图片方面的缓存的设计,但思想同样适用于别的方面的设计.在架构上来说,缓存算是存储设计的一部分.我们把各种不同的存储内容按照功能进行切割后,图片缓 ...

  6. 手把手教你写一个RN小程序!

    时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...

  7. StrategyPattern (策略模式)

    /** * 策略模式 * @author TMAC-J * 根据环境的不同选择不同的策略,把策略用接口抽象出来 */ public class StrategyPattern { interface ...

  8. 【干货分享】流程DEMO-事务呈批表

    流程名: 事务呈批表  业务描述: 办公采购.会议费用等事务的申请.流程发起时,会检查预算,如果预算不够,将不允许发起费用申请,如果预算够用,将发起流程,同时占用相应金额的预算,但撤销流程会释放相应金 ...

  9. Android中BroadcastReceiver的两种注册方式(静态和动态)详解

    今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...

  10. Android事件分发机制浅谈(一)

    ---恢复内容开始--- 一.是什么 我们首先要了解什么是事件分发,通俗的讲就是,当一个触摸事件发生的时候,从一个窗口到一个视图,再到一个视图,直至被消费的过程. 二.做什么 在深入学习android ...