一、操作數(shù)組的相關(guān)函數(shù)
1能岩、輸出字符串?dāng)?shù)組的固定長度元素
names = new Array("tomesun","soufeiya","sendy");//創(chuàng)建字符串?dāng)?shù)組
document.write(names[0].substring(0,5);//該語句輸出的是第一個元素的前五個字符津畸,結(jié)果應(yīng)顯示? ?tomes
2丙笋、數(shù)組元素的添加
arrayObj.push([item1 [item2 [. . . [itemN ]]]]);//將一個或多個新元素添加到數(shù)組結(jié)尾捐凭,并返回數(shù)組新長度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);//將一個或多個新元素添加到數(shù)組開始淑廊,數(shù)組中的元素自動后移奴潘,返回數(shù)組新長度
arrayObj.splice(insertPos,0,[item1[, item2[, . . .[,itemN]]]]);//將一個或多個新元素插入到數(shù)組的指定位置旧烧,插入位置的元素自動后移,返回""画髓。
3掘剪、數(shù)組元素的刪除
arrayObj.pop(); //移除最后一個元素并返回該元素值
arrayObj.shift(); //移除最前一個元素并返回該元素值,數(shù)組中元素自動前移
arrayObj.splice(deletePos,deleteCount); //刪除從指定位置deletePos開始的指定數(shù)量deleteCount的元素奈虾,數(shù)組形式返回所移除的元素.
4夺谁、數(shù)組元素的刪除
arrayObj.pop(); //移除最后一個元素并返回該元素值
arrayObj.shift(); //移除最前一個元素并返回該元素值,數(shù)組中元素自動前移
arrayObj.splice(deletePos,deleteCount); //刪除從指定位置deletePos開始的指定數(shù)量deleteCount的元素肉微,數(shù)組形式返回所移除的元素
5匾鸥、數(shù)組的截取和合并
arrayObj.slice(start, [end]); //以數(shù)組的形式返回數(shù)組的一部分,注意不包括 end 對應(yīng)的元素碉纳,如果省略 end 將復(fù)制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //將多個數(shù)組(也可以是字符串勿负,或者是數(shù)組和字符串的混合)連接為一個數(shù)組,返回連接好的新的數(shù)組
6劳曹、數(shù)組的拷貝
arrayObj.slice(0); //返回數(shù)組的拷貝數(shù)組奴愉,注意是一個新的數(shù)組,不是指向
arrayObj.concat(); //返回數(shù)組的拷貝數(shù)組铁孵,注意是一個新的數(shù)組锭硼,不是指向
7、數(shù)組元素的排序
arrayObj.reverse(); //反轉(zhuǎn)元素(最前的排到最后蜕劝、最后的排到最前)檀头,返回數(shù)組地址
arrayObj.sort(); //對數(shù)組元素排序轰异,返回數(shù)組地址
8、數(shù)組元素的字符串化
arrayObj.join(separator); //返回字符串鳖擒,這個字符串將數(shù)組的每一個元素值連接在一起溉浙,中間用 separator 隔開烫止。toLocaleString蒋荚、toString、valueOf:可以看作是join的特殊用法馆蠕,不常用期升。
9、toString().該方法將每個每個元素轉(zhuǎn)化成字符串互躬,(輸出是用逗號分隔開的字符串列表)播赁,注意:輸出不包括方括號以及其他其他任何形式的包裹數(shù)組值的分隔符。
10吼渡、toLocaleString();該方法是toString()的本地化版本容为,該方法將數(shù)組的每個元素轉(zhuǎn)化為字符串,并且使用(本地化和自定義實現(xiàn)的)寺酪,分隔符將這些字符串連接起來生成最終的字符串坎背。
11、ECMAscript5中的9中數(shù)組方法
forEach()從頭至尾遍歷數(shù)組寄雀,為每個元素調(diào)用指定的函數(shù)得滤,該函數(shù)包括三個參數(shù)
forEach(數(shù)組元素,元素的索引盒犹,數(shù)組本身)懂更。如果要提前終止該函數(shù),那必須將該函數(shù)放在try當(dāng)中急膀,并且拋出一個異常沮协。如果拋出 ?foreeach.break;循環(huán)會提前終止。
12卓嫂、map()慷暂;該方法將調(diào)用的數(shù)組的每一個元素傳遞給指定的函數(shù)。并返回一個數(shù)組命黔,例如:
a=[1,2,3];
b=map[function(x) {return x*x }; ];//b是[ 1,2,3]
13呜呐、filter();
該方法返回的數(shù)組元素是調(diào)用的數(shù)組的一個子集悍募,傳遞的函數(shù)用來邏輯判定的蘑辑,該函數(shù)返回true或false。
注意坠宴,filter會跳過稀疏數(shù)組中缺少的元素洋魂,返回的數(shù)組總是稠密的,甚至是,壓縮空缺副砍,并刪除undefined和null元素衔肢。
14、every()和some()
這兩個方法是數(shù)組的邏輯判斷豁翎,返回值是true和false角骤。
every ? 相當(dāng)于針對所有
some ? 相當(dāng)于存在
注意:一旦every()和some()確認該返回什么值 他們就會停止遍歷素組元素。
15心剥、reduce()和reduceRight()
該方法使用指定的函數(shù)邦尊,將數(shù)組元素進行組合,生成單個值优烧,這在函數(shù)式編程當(dāng)中是常見操作蝉揍,也可以稱為注入和折疊
16、indexOf()和lastIndexOf()
搜索整個數(shù)組中具有給定值的元素畦娄,返回找到的第一個元素的縮影又沾,或者如果沒有找到就返回-1;
二熙卡、數(shù)組對象的三個屬性
length:
length表示數(shù)組的長度杖刷,就是其中元素的個數(shù)。數(shù)組的索引值是從0開始再膳,上限是length-1挺勿,下限是0,
prototype:
返回對象類型原型的引用喂柒,prototype屬性是object共有的
constructor :
表示創(chuàng)建對象的函數(shù)不瓶。