1.創(chuàng)建數(shù)組
let arrayObj = []; //創(chuàng)建一個(gè)空的數(shù)組,需要什么元素直接往里面打即可,字符串需加雙引號(hào)(' '或" ")沛贪,間隔用逗號(hào)(,)灯变,結(jié)尾用分號(hào)(;)
let arrayObj =new Array(size);//創(chuàng)建一個(gè)長(zhǎng)度為size的數(shù)組
eg:let arrayObj =new Array(10); //創(chuàng)建一個(gè)長(zhǎng)度為十的數(shù)組敬肚,但所有值均為undefined革娄,
不知道有什么用倾贰,就發(fā)現(xiàn)這樣創(chuàng)建的數(shù)組,輸出arrayObj.length為十
2.數(shù)組元素的基本訪問(wèn)
let testGetArrValue=arrayObj[1]; //獲取數(shù)組的元素值拦惋,中括號(hào)內(nèi)為數(shù)組索引匆浙,從“0”開(kāi)始,但數(shù)組長(zhǎng)度卻是從“1”開(kāi)始
arrayObj[1]= "這是新值"; //給數(shù)組元素賦予新的值
3.數(shù)組元素的添加
.push的用法:
arrayObj.push(item,item2....);// 將一個(gè)或多個(gè)新元素添加到數(shù)組結(jié)尾厕妖,并返回?cái)?shù)組新長(zhǎng)度
.unshift的用法:
arrayObj.unshift(item,item2.....);// 將一個(gè)或多個(gè)新元素添加到數(shù)組開(kāi)始首尼,數(shù)組中的元素自動(dòng)后移,返回?cái)?shù)組新長(zhǎng)度
.splice的用法:
arrayObj.splice(index,howmany,item1,.....,itemX);//將一個(gè)或多個(gè)新元素插入到數(shù)組的指定位置言秸,插入位置的元素自動(dòng)后移软能,返回""。
index:整數(shù)举畸,規(guī)定添加/刪除項(xiàng)目的位置查排,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置(最后一個(gè)元素為-1)。(必要)
howmany:要?jiǎng)h除的項(xiàng)目數(shù)量抄沮。如果設(shè)置為 0雹嗦,則不會(huì)刪除項(xiàng)目。(必要)
item1,.....,itemX:可選合是。向數(shù)組添加的新項(xiàng)目。
所以.splice也可以用來(lái)指定刪除數(shù)組元素
4.數(shù)組元素的刪除
.pop的用法:
arrayObj.pop(); //pop() 方法將刪除 arrayObject 的最后一個(gè)元素锭环,把數(shù)組長(zhǎng)度減 1聪全,
并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空辅辩,則 pop() 不改變數(shù)組难礼,并返回 undefined 值。
.shilft的用法:
arrayObj.shift();//shift() 方法用于把數(shù)組的第一個(gè)元素從其中刪除玫锋,并返回第一個(gè)元素的值蛾茉。會(huì)改變數(shù)組的長(zhǎng)度
.splice的用法:
arrayObj.splice(index,deleteCount); //刪除從指定位置index開(kāi)始的指定數(shù)量deleteCount的元素,
數(shù)組形式返回所移除的元素撩鹿。index為數(shù)組索引谦炬,從0開(kāi)始,若index為負(fù)數(shù)則從末尾開(kāi)始算起,-1為最后一個(gè)元素
5.數(shù)組的截取和合并
.slice的用法:
arrayObj.slice(start, end); //start和end均為數(shù)組元素所在的索引(從0開(kāi)始算起)键思,
slice截取返回的元素從start到end(包括start不包括end)础爬,可以不定義end活end定義非常大可以復(fù)制從start開(kāi)始的所有元素,
(同樣start和end可以為負(fù)數(shù)吼鳞,最后一位為-1看蚜,倒數(shù)第二位為-2,以此類推)
.concat的用法:
let a = ["1", "2"];
let b = ["3", "4", "5"];
let c = ["6"];
let e=["7,8"]
let f = a.concat(b,c,e);(不可以let f = f.concat(b,c,e);)
輸出f:1,2,3,4,5,6,7,8
.concat返回一個(gè)新的數(shù)組
6.數(shù)組的復(fù)制
.slice的用法:
arrayObj.slice(); //返回?cái)?shù)組的拷貝數(shù)組赔桌,注意是一個(gè)新的數(shù)組供炎,不是指向
.concat 的用法:
arrayObj.concat(); //返回?cái)?shù)組的拷貝數(shù)組,注意是一個(gè)新的數(shù)組疾党,不是指向
7.數(shù)組元素的排序
.reverse的用法;
arrayObject.reverse()//顛倒數(shù)組元素的排序
.reverse會(huì)改變?cè)瓟?shù)組
.sort的用法;
arrayObject.sort(function)//arrayObject為數(shù)組對(duì)象(必須)音诫,function為函數(shù),確定數(shù)組排序的規(guī)則(可選).sort會(huì)直接改變?cè)瓟?shù)組仿贬。
如果沒(méi)有function會(huì)按ASCII 字符順序進(jìn)行升序排列(通俗來(lái)說(shuō)就是從小到大排列纽竣,雖然不準(zhǔn)確但一般都對(duì),不然自己去查ASCll表)且該函數(shù)必須返回下列
值之一: 如果所傳遞的第一個(gè)參數(shù)小于第二個(gè)參數(shù)茧泪,則返回負(fù)值蜓氨。 如果兩個(gè)參數(shù)相等,則返回零队伟。 如果第一個(gè)參數(shù)大于第二個(gè)參數(shù)穴吹,則返回正值。(然后調(diào)
換兩元素的位置)
例如:var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
7.一些不知道怎么分類的功能
.filter的用法:
array1.filter(callbackfn[, thisArg])
.