电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JavaScript內(nèi)置對(duì)象之Array的使用小結(jié)

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

數(shù)組的創(chuàng)建方式:

1.字面量:

放置一個(gè)數(shù)值時(shí),就是一個(gè)數(shù)據(jù)。

var arr = [6];

2.構(gòu)造函數(shù):

放置一個(gè)數(shù)據(jù)時(shí),表示長(zhǎng)度或數(shù)據(jù)的個(gè)數(shù),空表示undefined。

var arr = new Array(6);

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

數(shù)組的操作:

1.push();

用于在數(shù)組的末端添加一個(gè)或多個(gè)元素,并返回添加新元素后的數(shù)組長(zhǎng)度。

注意,該方法會(huì)改變?cè)瓟?shù)組

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

2.pop();

用于刪除數(shù)組的最后一個(gè)元素,并返回該元素。對(duì)空數(shù)組使用pop方法,不會(huì)報(bào)錯(cuò),而是返回undefined。

注意,該方法會(huì)改變?cè)瓟?shù)組

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

3.concat();

合并數(shù)組。

注意,該方法不會(huì)改變?cè)瓟?shù)組

var arr1 = [1,2,3] var arr2 = arr1.concat(); console.log(arr1); //[1,2,3]→→原數(shù)組 console.log(arr1 === arr2); //false console.log(arr2); //[1,2,3]→→原數(shù)組的副本 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]→→原數(shù)組未改變

4.shift();

用于刪除數(shù)組的第一個(gè)元素,并返回該元素。

注意,該方法會(huì)改變?cè)瓟?shù)組

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

5.unshift();

用于在數(shù)組的第一個(gè)位置添加元素,并返回添加新元素后的數(shù)組長(zhǎng)度。

注意,該方法會(huì)改變?cè)瓟?shù)組

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

6.slice();

用于復(fù)制目標(biāo)數(shù)組的一部分,返回一個(gè)新數(shù)組。

注意,該方法不會(huì)改變?cè)瓟?shù)組。

如果slice方法的參數(shù)是負(fù)數(shù),則表示倒數(shù)計(jì)算的位置;如果第一個(gè)參數(shù)大于等于數(shù)組長(zhǎng)度,或者第二個(gè)參數(shù)小于第一個(gè)參數(shù),則返回空數(shù)組。

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']→→原數(shù)組未改變

7.splice();

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

注意,該方法會(huì)改變?cè)瓟?shù)組。起始位置如果是負(fù)數(shù),則表示從倒數(shù)位置開(kāi)始刪除。

①不傳參時(shí):無(wú)操作;

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

②只傳入start:表示從索引為start的數(shù)據(jù)開(kāi)始刪除,直到數(shù)組結(jié)束;

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

③傳入start和num:表示從索引為start的數(shù)據(jù)開(kāi)始刪除,刪除num個(gè);

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

④傳入更多:表示從索引為start的數(shù)據(jù)開(kāi)始刪除,刪除num個(gè),并將第三個(gè)參數(shù)及后面所有參數(shù),插入到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']---原數(shù)組改變

8.reverse();

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

注意,該方法將改變?cè)瓟?shù)組

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

9.sort();

對(duì)數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。排序后,原數(shù)組將被改變;

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

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

10.join();

以指定參數(shù)作為分隔符,將所有數(shù)組成員連接為一個(gè)字符串返回。如果不提供參數(shù),默認(rèn)用逗號(hào)分隔;

注意, 該方法不會(huì)改變?cè)瓟?shù)組;如果數(shù)組成員是undefined或null或空位,會(huì)被轉(zhuǎn)成空字符串。

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]→→原數(shù)組未改變

11.for- in();

遍歷語(yǔ)句,類似于循環(huán),但for-in可以遍歷沒(méi)有索引的集合,也被成為枚舉。

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

補(bǔ)充:push和pop結(jié)合使用,就構(gòu)成了“后進(jìn)先出”的棧結(jié)構(gòu)(stack);push和shift結(jié)合使用,就構(gòu)成了“先進(jìn)先出”的隊(duì)列結(jié)構(gòu)(queue)。

實(shí)例

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title></title> <script> /* * * Array.isArray(對(duì)象)---->判斷這個(gè)對(duì)象是不是數(shù)組 * instanceof關(guān)鍵字 * .concat(數(shù)組,數(shù)組,數(shù)組,...) 組合一個(gè)新的數(shù)組 * .every(函數(shù))--返回值是布爾類型,函數(shù)作為參數(shù)使用,函數(shù)中有三個(gè)參數(shù),第一個(gè)參數(shù)是元素的值,第二個(gè)參數(shù)是索引值,第三個(gè)參數(shù)是原來(lái)的數(shù)組(沒(méi)用) * 如果這個(gè)數(shù)組中的每個(gè)元素的值都符合條件,最后才返回的是true * * .filter(函數(shù));返回的是數(shù)組中每一個(gè)元素都復(fù)合條件的元素,組成了一個(gè)新的數(shù)組 * * .push(值);--->把值追加到數(shù)組中,加到最后了---返回值也是追加數(shù)據(jù)之后的數(shù)組長(zhǎng)度 * .pop();--->刪除數(shù)組中最后一個(gè)元素,返回值就是刪除的這個(gè)值 * .shift();--->刪除數(shù)組中第一個(gè)元素,返回值就是刪除的這個(gè)值 * .unshift();--->向數(shù)組的第一個(gè)元素前面插入一個(gè)新的元素,----返回值是插入后的程度 * .forEach(函數(shù))方法---遍歷數(shù)組用---相當(dāng)于for循環(huán) * .indexOf(元素值);返回的是索引,沒(méi)有則是-1 * .join('字符串');----返回的是一個(gè)字符串 * .map(函數(shù));--->數(shù)組中的每個(gè)元素都要執(zhí)行這個(gè)函數(shù),把執(zhí)行后的結(jié)果重新的全部的放在一個(gè)新的數(shù)組中 * .reverse();----->反轉(zhuǎn)數(shù)組 * .sort();---排序的,可能不穩(wěn)定,如果不穩(wěn)定,請(qǐng)寫(xiě)MDN中的那個(gè)固定的代碼 * .arr.slice(開(kāi)始的索引,結(jié)束的索引);把截取的數(shù)組的值放在一個(gè)新的數(shù)組中,但是不包含結(jié)束的索引對(duì)應(yīng)的元素值 * .splice(開(kāi)始的位置,要?jiǎng)h除的個(gè)數(shù),替換的元素的值);一般是用于刪除數(shù)組中的元素,或者是替換元素,或者是插入元素 * * * */ //構(gòu)造函數(shù) // var arr1=new Array(); // //字面量的方式 // var arr2=[]; //對(duì)象是不是數(shù)組類型:兩種 //1 instanceof // var obj=[]; // console.log(obj instanceof Array);//false // // //2 使用數(shù)組的 // 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----:誰(shuí)調(diào)用了這個(gè)方法,那么c就是誰(shuí)---->arr // var flag= arr.every(function (a,b) { // //console.log(a+'==='+b+'===='+c); // return a>2000;//數(shù)組中的每個(gè)元素的值都要大于2000的情況,最后才返回true // }); // var arr=['小明明lkko','小曹操674','小白白bd','笑瞇瞇a']; // var flag=arr.every(function (ele,index) { // //數(shù)組中的每個(gè)元素的長(zhǎng)度是不是大于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---每個(gè)元素 // 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();//反轉(zhuǎn) // 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 變?yōu)?['angel', 'clown', 'drum', 'mandarin', 'sturgeon'] myFish.splice(2, 1); // 從索引為2的位置刪除一項(xiàng)(也就是’drum’這一項(xiàng)) console.log(myFish); // myFish 變?yōu)?['angel', 'clown', 'mandarin', 'sturgeon'] </script></head><body></body></html>

到此這篇關(guān)于JavaScript內(nèi)置對(duì)象之Array的使用小結(jié)的文章就介紹到這了,更多相關(guān)JavaScript內(nèi)置對(duì)象Array內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 深圳市东信高科自动化设备有限公司 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | 2025第九届世界无人机大会| 上海logo设计| 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | 顺辉瓷砖-大国品牌-中国顺辉 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 破碎机_上海破碎机_破碎机设备_破碎机厂家-上海山卓重工机械有限公司 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 挨踢网-大家的导航! | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 杭州双螺杆挤出机-百科 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 |