1巩趁、構(gòu)建數(shù)組
無(wú)參構(gòu)造函數(shù)痒玩,創(chuàng)造空數(shù)組
var al=new Array();
二淳附、利用字面量創(chuàng)造數(shù)組函數(shù)
1、使用
var a=[];
length是數(shù)組的默認(rèn)屬性蠢古,數(shù)組是一種對(duì)象奴曙。一個(gè)元素是不是對(duì)象 ,是看喲沒(méi)有屬性和屬性值
定義數(shù)組的時(shí)候草讶,最最后一項(xiàng)是洽糟;,不是逗號(hào)模式分號(hào)
數(shù)組的索引和長(zhǎng)度
遍歷數(shù)組堕战,數(shù)組是從0開(kāi)始排列坤溃,
最后一位往前遍歷,
arr.length
數(shù)組的頭部和尾部的增加和刪除
一、尾部的添加
[2,3,4,5]
arr[4]=100;
arr[arr.length]=100;
二者是一樣的
直接按回車輸出結(jié)果為arr[2,3,4,5,100]
修改也是類似添加越驻,直接改即可
尾部的刪除
delete是刪除一個(gè)對(duì)象的屬性汁政,能被delete刪除的即是對(duì)象
全局變量 var a=1;
b=2;
二者定義的都是全局變量,但是var不是對(duì)象缀旁,用delete刪除是flase.
arr.push(10);
輸出結(jié)果為數(shù)組長(zhǎng)度烂完,且為最后一位加上10的長(zhǎng)度
arr.pop();
輸出的最后一位,并且此數(shù)字已經(jīng)從數(shù)組中去掉诵棵,數(shù)組長(zhǎng)度減少一位
堆棧后進(jìn)先出,先進(jìn)后出
三祝旷、頭部的添加和刪除
arr.shift()
輸出的第一位履澳,并且此數(shù)字已經(jīng)從數(shù)組中去掉,數(shù)組長(zhǎng)度減少一位
unshift是向后一位怀跛,前面一位空出來(lái)距贷,需要內(nèi)容,即為在第一位增加元素
arr.unshift(10)
三吻谋、splice可用于添加刪除任何位置的元素
從第幾位到第幾位拿出來(lái)忠蝗,余下的就是剩余的,自動(dòng)生成漓拾。
數(shù)組的插入和替換arr.splice(1,3)刪除數(shù)組第一個(gè)第二個(gè)第三個(gè)阁最,剩余的自動(dòng)生成
pop(arr)
作為一個(gè)函數(shù),直接操作參數(shù)骇两,去掉最后一位速种,輸出結(jié)果仍為減掉的那個(gè)元素
需要插入的時(shí)候?qū)憘€(gè)0,arr.splice(5,0,val),數(shù)組的第五個(gè)元前面素插入val參數(shù)
pop/shift/unshift/splice的得到的結(jié)果實(shí)際上是數(shù)組低千,在代碼尾部加個(gè)[0]即可得到變化后數(shù)組得到第一位
一個(gè)數(shù)組配阵,拼接成字符串
一個(gè)數(shù)組,一個(gè)空數(shù)組,push第一行字符串棋傍,遍歷數(shù)組救拉,再push得到字符串
slice是將數(shù)組中的一部分拿出來(lái),其他的不發(fā)生變化.想把數(shù)組的某一段拿出來(lái)用slice
原數(shù)組不改變
concat拼接數(shù)組
reverse把一個(gè)數(shù)組逆序排列
arr.reverse()即可,翻轉(zhuǎn)字符串瘫拣,先將字符串翻轉(zhuǎn)成數(shù)組亿絮,再逆序,再拼接
sort數(shù)組的排序(數(shù)組的大小不是按照數(shù)值 的而大小排序拂铡,而是按照字符串排序)
arr.sort()
五壹无、字符串的比較
字符串的比較是根據(jù)asci碼,看首先先看第一位感帅。第一位如果不一樣斗锭,第一位大的,字符串就大失球;如果第一位相同岖是,比較第二位,同理類推
var arr=[1,100,2,3,256];
arr.sort(function(a,b)){
console.log(a,b);
conbsole.log(arr);
return a-b;});
數(shù)組從小到大排列实苞。豺撑、
數(shù)組通過(guò)下標(biāo)訪問(wèn),數(shù)組拼接黔牵,用join
var str=“hello”
str[0]
"h"
查找asci碼
數(shù)組常見(jiàn)操作是數(shù)組的拼接聪轿,只需要+即可
substr(第幾位開(kāi)始,長(zhǎng)度)
substring(第幾位開(kāi)始猾浦,第幾位結(jié)束)
字符串查找search可以查找下標(biāo)陆错,找不到為-1.如果>-1是存在的額,可以找到的金赦,第一位是0 音瓷,是大于-1的
str.replace( , )用一個(gè)替換另一個(gè)
str.split將數(shù)組分割
如果是str.split(' ‘)中間是個(gè)空格則將其分割,一個(gè)單詞一個(gè)單詞排列
如果是str.split('‘)空字符串進(jìn)行分割夹抗,則是將字符串進(jìn)行字符分割
如果需要將字符串里的單詞進(jìn)行排序
ES5數(shù)組擴(kuò)展
1绳慎、判斷一個(gè)數(shù)組是不是數(shù)組
Array.isArray
r如果一個(gè)元素,typeof arr是object漠烧,然后再arr instanceof Array true即可判斷該元素是數(shù)組杏愤。
中間參數(shù)忘記傳遞
every需要每個(gè)元素都滿足才為true
some只要有一個(gè)元素滿足條件,即為true
forEach
map對(duì)于里面的每一項(xiàng)去操作它沽甥,與forEach類似声邦,遍歷數(shù)組,map操作直接針對(duì)本身摆舟,forEach是針對(duì)元素亥曹,還需要顯示修改邓了,才能展現(xiàn)。
filter從一堆元素中找出一個(gè)
reduce逐項(xiàng)求和媳瞪,依次遞加
math對(duì)象的屬性
math.abs返回絕對(duì)值
math.max最大值
math.min最小值
取最大值最小值也可以選用遍歷數(shù)組的方式骗炉,再賦值
math.random該方法返回0-1之間的隨機(jī)數(shù)
取值10-20之間的數(shù)字是
10+math.floor(math.random()*10)
0,1,2,3
隨機(jī)數(shù)是0.00001-2.99999
0.0001-0.49999==0
0.5-1.49999==1
0和1的概率是不相等的