1摔刁、字面量的方式創(chuàng)建數(shù)組 :
? ? ? ? ?let arr = ['張三','李四','王五'];
? ? ? ? let num = [11,22,33,44]坑匠;
? ? ? ? console.log(arr);?
? ? ? ? ?數(shù)組的下標(biāo)從0開(kāi)始?
?2、構(gòu)造函數(shù)的方式創(chuàng)建數(shù)組?
? ? ? ? new Array(size);
? ? ? ? 表示數(shù)組中可存放的元素總數(shù)
? ? ? ? 規(guī)定了總數(shù) 但是添加一個(gè)數(shù) 總數(shù)也會(huì)增
? ? ? ? new Array()實(shí)例化一個(gè)數(shù)組對(duì)象?
? ? ? ? ?let arr = new Array(3)
? ? ? ? ?arr = [1,2,3,4]?
? ? ? ? 聲明時(shí)賦值 :
? ? ? ? ?let arr = new Array(1,2,3,4,5,6)?
? ? ? ? 分別賦值 :
? ? ? ? ?let arr = new Array(3);
? ? ? ? arr[0] = 'zhangsan';
? ? ? ? arr[1] = 'lisi';
? ? ? ? arr[2] = 'wangwu' 救斑;
?3、通過(guò)數(shù)組的名稱和下標(biāo)直接訪問(wèn)數(shù)組的元素?
? ? ? ? ?console.log(arr[1]);?
? ? ? ? for(var i in arr){
? ? ? ? ? ? console.log(arr[i]); }?
? 4原探、屬性 ? length ?設(shè)置或返回?cái)?shù)組中元素的數(shù)目?
? ? ? ? let arr = [1,2,3,4,5]
? ? ? ? ?console.log(arr.length);?
? 5朗鸠、 join( ) ?把數(shù)組的所有元素放入一個(gè)字符串蚯撩,通過(guò)一個(gè)分隔符進(jìn)行分隔?
? ? ? ? 把數(shù)組轉(zhuǎn)成字符串?
? ? ? ? let newstr = arr.join();?
? ? ? ? ?join()里面沒(méi)有傳任何參數(shù) 默認(rèn)以逗號(hào)連接?
? ? ? ? ?join('') 數(shù)字中間沒(méi)有任何字符拼接
? ? ? ? let newstr = arr.join('+');
? ? ? ? ?console.log( typeof(newstr) );?
? ? ? ?console.log(newstr);
? ?6、 sort() ? 對(duì)數(shù)組排序?
? ? ? ? ?隱式數(shù)據(jù)類型轉(zhuǎn)換 會(huì)字符串類型的轉(zhuǎn)成數(shù)字類型進(jìn)行排序?
? ? ? ? let arr = ['2', '3', '1', '5', '0'];
? ? ? ? let newarr = arr.sort();?
? ? ? ? ?sort方法 會(huì)把老數(shù)組和新產(chǎn)生的數(shù)組都進(jìn)行排序?
? ? ? ? console.log(arr, newarr);?
? ? ? ?sort()對(duì)應(yīng)多位數(shù)排序會(huì)出現(xiàn)問(wèn)題
? ? ? ? let arr = [2,22,3,32,1,12,100];
? ? ? ?sort 給我們提供的解決方法?
? ? ? ? ?arr.sort(function(a,b){
? ? ? ? ?從小到大的順序?
? ? ? ? ? return a-b;?
? ? ? ? 從大到小的順序?
? ? ? ? ? return b-a; })
? ? ? ? ?console.log(arr);
7烛占、 push() ? 向數(shù)組末尾添加一個(gè)或更多元素胎挎,并返回新的長(zhǎng)度?
? ? ? ? ?在外面定義的叫全局變量?
? ? ? ? let stu = ['小張','小王','小李'];
? ? ? console.log(stu);?
? ? 方法里面的叫局部區(qū)域?
? ? ? ? function fn(){
? ?因?yàn)閟tu 是全局的 所以在方法里面 可以獲取到
? ? 數(shù)組可以添加重復(fù)的數(shù)據(jù)?
? ? push也可以添加多個(gè)數(shù)據(jù)?
? ? ? ? ? ?let a = stu.push('麗麗','倩倩','雯雯')
? ? ? ? ? ? console.log(a);
? ? ? ? ? console.log(stu);}
? ? ? ? ?定義一個(gè)空數(shù)組 點(diǎn)擊添加按鈕 可以在空數(shù)組里面添加
? ? ? ? 姓名 點(diǎn)擊一個(gè)添加 可以把數(shù)組使用 dw 顯示在頁(yè)面上?
? ? ? ? ?let arr = []
? ? ? ? ?function fn(){
? ? ? ? ? ? ?arr.push('xiaoa')
? ? ? ? document.write有個(gè)缺陷,用按鈕點(diǎn)擊的時(shí)候
? ? ? ? ? ? 會(huì)把整個(gè)頁(yè)面進(jìn)行重新繪制忆家,導(dǎo)致頁(yè)面原來(lái)的內(nèi)容丟失??
? ? ? ? ? ?document.write(arr)} }
8犹菇、 concat() 合并兩個(gè)數(shù)組?
? ? ? ? 對(duì)原來(lái)的兩個(gè)數(shù)組 沒(méi)有任何改變,會(huì)生成一個(gè)拼接好的新數(shù)組?
? ? ? ? ?let arr1 = [1,2,3];
? ? ? ? ?let arr2 = [4,5,6];
? ? ? ? ?let arr3 = [7,8,9]
? ? ?拼接多個(gè)數(shù)組?
? ? ? ?let newarr = arr1.concat(arr2).concat(arr3);
? ? ? console.log('arr1',arr1);
? ? ? ? ?console.log('arr2',arr2);?
? ? ? console.log('newarr',newarr);
? ? ? ? es6合并數(shù)組 要是用擴(kuò)展運(yùn)算符 ...?
? ? ? ? ?等同于 [1,2,3] 把a(bǔ)rr1的括號(hào)去掉芽卿,
? ? ? ? 把里面的內(nèi)容拿出來(lái)了?
? ? ? ? let newarr = [...arr1];?
? ? ? ? ?let newarr = [...arr1,...arr2,...arr3];
? ? ? ? ?console.log(newarr);
? ? ? ? eg1:定義 ?三個(gè)數(shù)組 ?分別是 三組學(xué)生的信息 第一組 姓名 年紀(jì) ?性別?
? ? ? ? 把三個(gè)數(shù)組 拼接起來(lái) 使用兩種方式?
? ? ? ? 數(shù)組中的splice方法 可以對(duì)數(shù)組進(jìn)行增刪改?
? ? ? ? splice()里面有三個(gè)參數(shù)揭芍,
? ? ? ? 第一個(gè)參數(shù)表示 你要操作的數(shù)組元素的索引
? ? ? ? 第二個(gè)參數(shù)表示 你要從你選擇的索引開(kāi)始要?jiǎng)h除的個(gè)數(shù)
? ? ? ? 第三個(gè)參數(shù)表示 你要添加的數(shù)組元素
? ? ? ? let arr = ['張三','李四','王五'];?
? ? ? ? ?刪除李四?
? ? ? ? arr.splice(1,1)?
? ? ? ? 把王五修改成麗麗?
? ? ? ? ?arr.splice(2,1,'麗麗')?
? ? ? ? 添加 你想在哪里添加就在哪里添加?
? ? ? ? 把倩倩放在數(shù)組索引為2的位置 因?yàn)榈诙€(gè)參數(shù)是0 所以王五不會(huì)被刪除?
? ? ? ? ?arr.splice(2,0,'倩倩')?
? ? ? ? 使用splice在數(shù)組的末尾添加?
? ? ? ? arr.splice(3,0,'倩倩')?
? ? ? ? 在任意數(shù)組末尾的位置進(jìn)行添加?
? ? ? ? arr.splice(arr.length,0,'倩倩')
? ? ? ? console.log(arr);?
? ? ? ? ?eg2:寫一個(gè)數(shù)組 里面有姓名 年紀(jì) 性別 展示在頁(yè)面上
? ? ? ? ?再寫三個(gè)按鈕 點(diǎn)擊 可以實(shí)現(xiàn)
? ? ? ? 數(shù)組的末尾添加一個(gè)信息 刪除年紀(jì) ?修改性別 ?點(diǎn)擊完成之后
? ? ? ? 數(shù)組的最終結(jié)果使用alert打印出來(lái)?
? ? ? ? ?let arr = ['張三',20,'男'];
? ? ? ? document.write(arr);
? ? ? ? ?function fn(str){
? ? ? ? ? ? if(str=='add'){
? ? ? ? ? ? ? ? ?arr.splice(arr.length,0,'奔馳')
? ? ? ? ? ? ? ? alert(arr)? ? }
? ? ? ? ? ? if(str=='del'){
? ? ? ? ? ? ? ? ?arr.splice(1,1)
? ? ? ? ? ? ? alert(arr)? ?}
? ? ? ? ? ?if(str=='update'){
? ? ? ? ? ? ? ?arr.splice(1,1,'女')
? ? ? ? ? ? ? alert(arr) } }
? ? ? ? ?let arr = ['張三','李四','王五']?
? ? ? ? ?push在數(shù)組的末尾添加一個(gè)元素?
? ? ? ? ?pop 刪除數(shù)組的最后一個(gè)元素
? ? ? ? ?arr.pop();
? ? ? ? console.log(arr);?
? ? ? ? shift 刪除數(shù)組的最前面的一個(gè)元素?
? ? ? ? arr.shift();
? ? ? ? console.log(arr);?
? ? ? ? unshift 在數(shù)組的最前面添加一個(gè)數(shù)組?
? ? ? ? arr.unshift('麗麗')
? ? ? ? console.log(arr);