JavaScript权威设计–JavaScript数组(简要学习笔记九)

1.数组的创导

如:

var a=[1.1,null,"a"];
var b=[1, ,3];    //中间的那个元素是undefined
var  c=[ , , ]   

那里c.length你是否觉得是3?

嘿嘿,长度应该是2.因为数组直接量的语法允许有可选的末梢逗号。

ECMAScript 1

 

ECMAScript,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    //4
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    //55

 

5.JavaScript不匡助真正的多位数组,能够用数组的数组来就像是。

 

6.数组与其它JS对象一样具有toString()方法。

如:

[1,2,3].toString()    //生成'1,2,3'
["a","b","c"].toString()    //生成'a,b,c'

 

 

7.ECMAScript5概念了七个新的数组方法来遍历,映射,过滤,检查和测试,简化和查找数组。

一: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等数组的方法会修改数组,他们在字符串上是低效的。而且选用那几个措施来修改字符串会导致出错:出错的时候从不指示。