array基礎
1.聲明數(shù)組
var arr = []; 或 var arr = [1,2,3,4];
var arr = new Array(); 或 var arr = new Array(1,2,3); 或 var arr = new Array(n);
2.數(shù)組分類:
索引數(shù)組:
特點:
1.下標都是數(shù)字--無意義
2.length 為數(shù)組的長度
3.遍歷:for ( var i = 0; i < arr.length; i++ ){}
4.檢索只能靠遍歷
關(guān)聯(lián)數(shù)組(hash算法,散列表):
特點:
1.下標可自定義
2.length永遠為0
3.遍歷用for(var key in arr){}
4.檢索采用hash算法,速度快
哈西算法(hash,散列表)
是指根據(jù)鍵(key)而直接訪問在內(nèi)存存儲位置的數(shù)據(jù)結(jié)構(gòu)。也就是說,他通過計算一個關(guān)于鍵值的函數(shù),將所需查找的數(shù)據(jù)映射到表中的一個位置來訪問記錄,加快查找速度。
數(shù)組API
1. ?arr.indexOf()
檢索某個元素在數(shù)組中的下標位置
2.arr.slice() ? 不改變元素組
截取數(shù)組中的部分元素,生成一個新的數(shù)組
arr.slice(0,3);含頭不含尾
arr.slice(3);從3到結(jié)尾
arr.slice():從頭截到位,復制一個數(shù)組
3.push和pop
push() 用于向數(shù)組的末尾添加若干元素;---推
pop()用于將數(shù)組的末尾元素刪除;---彈
4.unshift()和shift()
unshift()用于向數(shù)組的頭部添加若干元素 ---反向移動
shift()用于將數(shù)組的頭部刪除若干元素 ?---移動
5.sort()
對數(shù)組進行排序;
默認將數(shù)組中的每個元素轉(zhuǎn)化為字符串,再升序排列
還可自定義比較器函數(shù)傳入sort(compare)
6.reverse()
反轉(zhuǎn)數(shù)組中的元素
7.splice() ? 原數(shù)組改變
修改數(shù)組的萬能方法
1.只刪除,不添加:
splice(2,2); ?從下標為2的元素刪除兩個元素
2.只添加,不刪除
splice(2,0,xx,xx);
3.刪除并添加
splice(2,2,xx,xx);
8.concat() ?返回新數(shù)組,不改變元素組
將多個數(shù)組或者元素連接為一個數(shù)組
9.join() ?返回字符串
將數(shù)組中的每一個元素轉(zhuǎn)為字符,并用特定的符號連接起來
10.String(arr)和arr.toString()
?將數(shù)組中的元素轉(zhuǎn)換為字符,并用逗號分隔。