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