數(shù)組篇
js中沒有真正的數(shù)組烛缔,數(shù)組是一個特殊的對象怒竿,包含0、1稳其、2驶赏、3、...length的屬性名
創(chuàng)建數(shù)組
var arr = [] 或 var arr = [1,2,3,4,5];//效率最高
var arr2 = new Array(1,2,3,4,5);//元素為1,2,3,4,5的數(shù)組
var arr3 = new Array(10);//長度為10的數(shù)組
方法歸納總結(jié)總結(jié)
split();//字符串生成數(shù)組
indexOf()//參數(shù)在目標(biāo)函數(shù)中是否存在既鞠,存在返回索引煤傍,不存在返回-1
join()和toString() //數(shù)組轉(zhuǎn)字符串,元素以分隔符分割開來,toString是逗號分隔
concat()和splice();//已有數(shù)組創(chuàng)建新數(shù)組
//數(shù)組添頭尾加元素
push()和unshift()//頭添加效率極低嘱蛋,因?yàn)樾略靥砑舆M(jìn)來后蚯姆,需要把后面每個元素都相應(yīng)的向后移一個位置
//從數(shù)組頭尾刪除元素
pop()和shift()//頭刪除效率極低,因?yàn)閯h除第一個元素后洒敏,需要把后面每個元素都相應(yīng)的向前移一個位置
//從數(shù)組中間增刪元素
splice(參數(shù)1,參數(shù)2,參數(shù)3)//參數(shù)1:索引;參數(shù)2:個數(shù);參數(shù)3:元素
sort//排序 默認(rèn)是按照字典順序?qū)υ剡M(jìn)行排序的龄恋,如果是數(shù)字類型,需要傳入排序函數(shù)
//迭代器方法
forEach()凶伙、every()郭毕、some()、reduce()//不產(chǎn)生新數(shù)組的迭代器方法镊靴,forEach不用return铣卡,其他三個都是需要return的链韭;reduce(function(runningTotal,currentValue){return runningTotal+currentValue;})
map()偏竟、filter()//生成新數(shù)組的迭代器方法