当前位置: 首页 > Web前端 > JavaScript

【JS30-WesBos】数组操作04

时间:2023-03-27 00:06:17 JavaScript

标题:【原生javascript项目】数组操作04日期:2021-11-1519:30:39标签:原生javascript项目类别:30个原生javascript项目简介本文介绍数组操作一些常用方法。Literal1createarrayconstpeople=['Bernhard,Sandra','Bethea,Erin','Becker,Carl','Bentsen,Lloyd','Beckett,Samuel','Blake,William','Berger,Ric','Beddoes,Mick','Beethoven,Ludwig','Belloc,Hilaire','Begin,Menachem','Bellow,Saul','Benchley,Robert','Blair,Robert','Benenson,Peter','Benjamin,Walter','Berlin,Irving','Benn,Tony','Benson,Leana','Bent,Silas','Berle,Milton','Berry,Halle','Biko,Steve','Beck,Glenn','Bergman,Ingmar','Black,Elk','Berio,Luciano','Berne,Eric','Berra,Yogi','Berry,Wendell','Bevan,Aneurin','Ben-Gurion,David','Bevel,Ken','Biden,Joseph','Bennington,Chester','Bierce,Ambrose','Billings,Josh','Birrell,Augustine','Blair,Tony','Beecher,Henry','Biondo,Frank'];2获取数组的长度console.log(people.length);3循环people.forEach(function(item,index){console.log(item,index);})4添加一个数据末尾的元素letnewLength=people.push('Wheeler,Ben');//newLength的结果是people的长度,不是新增的元素内容console.log(people.length);5从末尾移除一个元素letlast=people.pop();console.log(people.length);6从头部移除一个元素letfirst=people.shift();console.log(people.length);7从引用中添加一个新元素letfirstItem=people.unshift('Bernhard,Sandra');console.log(people);8找到下标letpos=people.indexOf('Blair,Tony');console.log(pos);9根据下标删除元素letremoveItem=people.splice(pos,1);//参数1表示Pos下标后有多少个console.log(removeItem);10copyarray//复制数组1letnewPeople1=people;//people和newPeople1指向同一个内存//复制数组2letnewPeople2=people.slice();//people和newPeople1指向不同的内存11索引超出数组长度people[100]='bbb';console.log(people);12Array.prototype.filter()filterconstfifte=inventors.filter(inventor=>(inventor.year>=1500&&inventor.year<1600));console.table(十五);13Array.prototype.map()constfullNames=inventor.map(inventor=>(inventor.first+''+inventor.last));constfullNames2=inventor.map(inventor=>`${inventor.first}${inventor.last}`);console.log(fullNames);console.log(fullNames2);14Array.prototype.sort()//constordered=inventors.sort((a,b)=>a.year>b.year?1:-1);console.table(ordered);//降序constoldest=inventors.sort(function(a,b){constlastInventor=a.passed-a.year;constnextInventor=b.passed-b.year;returnlastInventor>nextInventor?-1:1;});console.table(oldest);15Array.prototype.reduce()返回一个值//Array.prototype.reduce()返回一个值consttotalYears=inventors.reduce((total,inventor)=>{returntotal+(inventor.passed-inventor.year);},0);//0表示返回的单个值加0console.log(totalYears);结语完整代码在Github上,有兴趣的读者不妨试一试