Summer Training Day 9.
引用类型
Object类型
创建方法:
|
|
|
|
Array类型
创建方法:
数组的length属性不是只读的,可以移除或新增项.
p.s.数组最多可以包含4 294 967 295项.
检测数组:
一些方法.
栈方法.LIFO后进先出
- push()&pop();12345678var colors = [];//创建数组var count = colors.push("red","white");//推入两项alert(count);//2var count = colors.push("black");//推入另一项var item = colors.pop();//弹出最后一项并取之.alert(item);//"black"alert(colors.length);//2
队列方法.FIFO先进先出
- push()&shift()&unshift();12345678var colors = [];//创建数组var count = colors.push("red","white");//推入两项alert(count);//2var count = colors.push("black");//推入另一项var item = colors.shift();//弹出第一项并取之.alert(item);//"red"alert(colors.length);//2
|
|
操作方法.
concat()
123456789//concat.var colors = ["red","green","blue"];var colors2 = colors.concat("yellow",["black","brown"]);alert(color)//red,green,bluealert(color2)//red,green,blue,yellow,black,brown//若concat()无参数则只是复制当前数组并返回副本//若有一个或多个一维数组,则将它们每一项都添加进副本返回.//数组嵌套(n维数组)的情况,内层的作为一个n-1维数组返回.//若就一个数组则正常添加并返回.slice()
12345678910111213var colors = ["red","green","blue","yellow","purple"];var colors2 = colors.slice(1);var colors3 = colors.slice(1,4);//若只有一个参数则返回从指定参数开始到数组末尾所有项.//若两个参数则返回起始位置到终止位置所有项但不包含终止位置项(左闭右开)"[ , )"alert(colors2);//green,blue,yellow,purplealert(colors3);//green,blue,yellow//当第二个参数为负数时,情况又有所不同.var colors4 = colors.slice(1,-1);//应该输出green,blue,yellow//负数是从右边数起的,正确理解应该是 -1 + 5 = 4// 负值 + arr.length//即colors.slice(1,-1); <=> colors.slice(1,4);
p.s.若起始位置大于终止位置(负值除外),则返回空数组。
- spilce()
据《JavaScript高级程序设计(第三版)》一书,splice()方法”算是最强大的数组方法”12345Array.splice(position,deleteNumber,addThings);position//表示操作点位置.这个位置指向的是两个相邻项之间的空隙.deleteNumber//表示从操作点位置开始删除项的个数.addThings//表示从操作点开始插入的新项.该方法返回的是被删除的数组,若没有删除则返回空数组.
如:
现在看来果不其然..
迭代方法.
以下方法均为对数组,每一项执行给定的函数.
且均不会改变原数组的值.
- every(): 若每一项都返回True,则返回True.
- some(): 任意一项返回True,则返回True.
- filter(): 返回所有返回True的项构成的数组.
- forEach(): 无返回值.
- map(): 返回每次函数调用的结果构成的数组.
格式(以forEach为例):
归并方法.
- reduce()&reduceRight()12345678//reduce()从第一项开始逐项遍历到最后.//reduceRight()从最后一项开始遍历.//两者都是返回一个数值.格式:var values = [1,2,3,4,5];var sum = values.reduce(function(accumulate,current,index,array){return accumulate + current;});
Date类型
|
|
以上.