国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

JavaScript內置對象之Array的使用小結

瀏覽:105日期:2023-10-28 11:01:18

數組的創建方式:

1.字面量:

放置一個數值時,就是一個數據。

var arr = [6];

2.構造函數:

放置一個數據時,表示長度或數據的個數,空表示undefined。

var arr = new Array(6);

建議:Array作為構造函數,行為很不一致。因此,不建議使用它生成新數組,直接使用數組字面量是更好的做法。

數組的操作:

1.push();

用于在數組的末端添加一個或多個元素,并返回添加新元素后的數組長度。

注意,該方法會改變原數組

var arr = [1,2,3]; console.log(arr.push('hello')); //4 console.log(arr);//[1,2,3,'hello']---原數組改變 console.log(arr.push('a','b')); //6 console.log(arr);//[1,2,3,'hello','a','b']---原數組改變

2.pop();

用于刪除數組的最后一個元素,并返回該元素。對空數組使用pop方法,不會報錯,而是返回undefined。

注意,該方法會改變原數組

var arr = [1,2,3]; console.log(arr.pop()); //3 console.log(arr); //[1,2] →原數組改變

3.concat();

合并數組。

注意,該方法不會改變原數組

var arr1 = [1,2,3] var arr2 = arr1.concat(); console.log(arr1); //[1,2,3]→→原數組 console.log(arr1 === arr2); //false console.log(arr2); //[1,2,3]→→原數組的副本 console.log(arr1.concat('hello','world')); //[1,2,3,'hello','world'] console.log(arr1.concat(['a','b'],[[3,4],{'name':'admin'}])); //[1,2,3,'a','b',[3,4],{'name':'admin'}] console.log(arr1); //[1,2,3]→→原數組未改變

4.shift();

用于刪除數組的第一個元素,并返回該元素。

注意,該方法會改變原數組

var arr = [1,2,3] console.log(arr.shift()); //1 console.log(arr);//[2,3]→→原數組改變

5.unshift();

用于在數組的第一個位置添加元素,并返回添加新元素后的數組長度。

注意,該方法會改變原數組

var arr = [1,2,3]; console.log(arr.unshift('hello')); //4 console.log(arr); //['hello',1,2,3]→→原數組改變 console.log(arr.unshift('a','b')); //6 console.log(arr); //['a','b','hello',1,2,3]→→原數組改變

6.slice();

用于復制目標數組的一部分,返回一個新數組。

注意,該方法不會改變原數組。

如果slice方法的參數是負數,則表示倒數計算的位置;如果第一個參數大于等于數組長度,或者第二個參數小于第一個參數,則返回空數組。

var arr = ['a','b','c','d','e']; console.log(arr.slice(1,3)); //['b','c'] console.log(arr.slice(1)); //['b','c','d','e'] console.log(arr.slice(-4,-1)); //['b','c','d'] console.log(arr.slice(-2)); //['d','e'] console.log(arr.slice(1,-2)); //['b','c'] console.log(arr); //['Tom','Jack','Lucy','Lily','May']→→原數組未改變

7.splice();

用于刪除原數組的一部分成員,并可以在刪除的位置添加新的數組成員,返回值是被刪除的元素。

注意,該方法會改變原數組。起始位置如果是負數,則表示從倒數位置開始刪除。

①不傳參時:無操作;

var arr = ['a','b','c','d','e']; console.log(arr.splice()); //[] console.log(arr); //['a','b','c','d','e']→→無操作

②只傳入start:表示從索引為start的數據開始刪除,直到數組結束;

var arr = ['a','b','c','d','e']; console.log(arr.splice(2)); //['c', 'd', 'e'] console.log(arr);//['a', 'b']→→原數組改變

③傳入start和num:表示從索引為start的數據開始刪除,刪除num個;

var arr = ['a','b','c','d','e']; console.log(arr.splice(2,2)); //['c', 'd'] console.log(arr);//['a', 'b', 'e']→→原數組改變

④傳入更多:表示從索引為start的數據開始刪除,刪除num個,并將第三個參數及后面所有參數,插入到start的位置;

var arr = ['a','b','c','d','e']; console.log(arr.splice(2,2,'f','g')); //['c', 'd'] console.log(arr); //['a', 'c', 'f', 'g', 'e']---原數組改變

8.reverse();

用于顛倒排列數組元素,返回改變后的數組(還是原數組)。

注意,該方法將改變原數組

var arr = [a,b,c]; console.log(arr.reverse()); //[c,b,a] console.log(arr);//[c,b,a]→→原數組改變

9.sort();

對數組成員進行排序,默認是按照字典順序排序。排序后,原數組將被改變;

注意:sort方法不是按照大小排序,而是按照字典順序。也就是說,數值會被先轉成字符串,再按照字典順序進行比較,例如:121排在13的前面;如果想讓sort方法按照自定義方式排序,可以傳入一個函數作為參數。

[10111,1101,111].sort(function(a,b){return a - b; // 升序// return b - a; // 降序}) // [111,1101,10111]

10.join();

以指定參數作為分隔符,將所有數組成員連接為一個字符串返回。如果不提供參數,默認用逗號分隔;

注意, 該方法不會改變原數組;如果數組成員是undefined或null或空位,會被轉成空字符串。

var arr = [a,b,c]; console.log(arr.join()); // a,b,c console.log(arr.join('*')); // a*b*c console.log(arr);//[1,2,3]→→原數組未改變

11.for- in();

遍歷語句,類似于循環,但for-in可以遍歷沒有索引的集合,也被成為枚舉。

for(var i in arr) i是下標; for(var i in obj) i是屬性名.

補充:push和pop結合使用,就構成了“后進先出”的棧結構(stack);push和shift結合使用,就構成了“先進先出”的隊列結構(queue)。

實例

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title></title> <script> /* * * Array.isArray(對象)---->判斷這個對象是不是數組 * instanceof關鍵字 * .concat(數組,數組,數組,...) 組合一個新的數組 * .every(函數)--返回值是布爾類型,函數作為參數使用,函數中有三個參數,第一個參數是元素的值,第二個參數是索引值,第三個參數是原來的數組(沒用) * 如果這個數組中的每個元素的值都符合條件,最后才返回的是true * * .filter(函數);返回的是數組中每一個元素都復合條件的元素,組成了一個新的數組 * * .push(值);--->把值追加到數組中,加到最后了---返回值也是追加數據之后的數組長度 * .pop();--->刪除數組中最后一個元素,返回值就是刪除的這個值 * .shift();--->刪除數組中第一個元素,返回值就是刪除的這個值 * .unshift();--->向數組的第一個元素前面插入一個新的元素,----返回值是插入后的程度 * .forEach(函數)方法---遍歷數組用---相當于for循環 * .indexOf(元素值);返回的是索引,沒有則是-1 * .join('字符串');----返回的是一個字符串 * .map(函數);--->數組中的每個元素都要執行這個函數,把執行后的結果重新的全部的放在一個新的數組中 * .reverse();----->反轉數組 * .sort();---排序的,可能不穩定,如果不穩定,請寫MDN中的那個固定的代碼 * .arr.slice(開始的索引,結束的索引);把截取的數組的值放在一個新的數組中,但是不包含結束的索引對應的元素值 * .splice(開始的位置,要刪除的個數,替換的元素的值);一般是用于刪除數組中的元素,或者是替換元素,或者是插入元素 * * * */ //構造函數 // var arr1=new Array(); // //字面量的方式 // var arr2=[]; //對象是不是數組類型:兩種 //1 instanceof // var obj=[]; // console.log(obj instanceof Array);//false // // //2 使用數組的 // console.log(Array.isArray(obj));// // var arr=['a','b','c']; // var newArr=Array.from(arr); // console.log(newArr); // var arr1=[10,20,30]; // var arr2=[40,50,60]; // console.log(arr1.concat(arr2)); // var arr=[1000,2000,3000]; // //a----: 元素的值 // //b----: 索引的值 // //c----:誰調用了這個方法,那么c就是誰---->arr // var flag= arr.every(function (a,b) { // //console.log(a+'==='+b+'===='+c); // return a>2000;//數組中的每個元素的值都要大于2000的情況,最后才返回true // }); // var arr=['小明明lkko','小曹操674','小白白bd','笑瞇瞇a']; // var flag=arr.every(function (ele,index) { // //數組中的每個元素的長度是不是大于4 // return ele.length>4; // }); //console.log(flag); // var arr=[10,20,30,40,50,60,70,80]; // var newArr=arr.filter(function (ele) {//ele---每個元素 // return ele>40; // }); // console.log(newArr); // var arr=[10,0,20,0,40,0,60,100]; // var newArr=arr.filter(function (ele) { // return ele!=0; // }); // console.log(newArr); // var arr=[10,20,30,40,50]; // var result=arr.unshift(100); // console.log(result); // console.log(arr); // // var arr = [10, 20, 30, 40]; // arr.forEach(function (ele,index) { // console.log(ele+’======’+index); // }); // var arr=[10,20,30,40]; // var index=arr.indexOf(300); // console.log(index); // var arr=['小白','小黑','小紅','小芳','小綠','小蘇']; // var str=arr.join('|'); // console.log(str); // var numbers = [1, 4, 9]; // var roots = numbers.map(Math.sqrt); // console.log(roots); // var arr=[10,20,30,40,50]; // arr.reverse();//反轉 // console.log(arr); // var arr=[1,40,20,10,100]; // //a---arr[j] // //b---arr[j+1] // arr.sort(function (a,b) { // if(a>b){ // return 1; // }else if(a==b){ // return 0; // }else{ // return -1; // } // }); // console.log(arr); // // var arr=[10,20,30,40,50,60,70,80,90,100]; // var newArr= arr.slice(3,7); // console.log(newArr); var myFish = [’angel’, ’clown’, ’mandarin’, ’sturgeon’]; // myFish.splice(2, 0, ’drum’); // 在索引為2的位置插入’drum’ // myFish 變為 ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'] myFish.splice(2, 1); // 從索引為2的位置刪除一項(也就是’drum’這一項) console.log(myFish); // myFish 變為 ['angel', 'clown', 'mandarin', 'sturgeon'] </script></head><body></body></html>

到此這篇關于JavaScript內置對象之Array的使用小結的文章就介紹到這了,更多相關JavaScript內置對象Array內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久久久久99精品 | 一级毛片黄片 | 男女乱淫真视频免费观看 | 美女很黄很黄免费的 | 好妞操 | 有码在线| 日韩在线看片中文字幕不卡 | 欧美黄视频在线观看 | 国产精品久久久久久一级毛片 | 最近日本免费观看视频 | 日韩国产欧美视频 | 国产精品九九九久久九九 | 免费精品99久久国产综合精品 | 一级爱 | 久久国产亚洲 | 国产免费一级高清淫曰本片 | 欧美在线视频观看 | 久久一本色道综合 | 91欧美视频 | 亚洲午夜成激人情在线影院 | 久久频这里精品香蕉久久 | 日本欧美一级aaaaa毛片 | 偷拍自拍视频在线 | 国产特黄特色一级特色大片 | 一本久道久久综合中文字幕 | 亚洲国产日韩欧美 | 国产一区二区三区不卡在线观看 | 欧美aaaa在线观看视频免费 | 久久这里只有精品免费播放 | 怡红院亚洲 | 97在线碰碰观看免费高清 | 三级做人爱c视频18三级 | 男人的天堂欧美精品色偷偷 | 国产一精品一aⅴ一免费 | 欧洲女同互慰在线视频 | 96精品视频在线播放免费观看 | 国产精品福利社 | 久久精品国产国产 | 日韩三级免费看 | 日韩精品亚洲一级在线观看 | 精品国产精品久久一区免费式 |