当前位置: 首页 > 后端技术 > Node.js

js中Array方法的分类分析

时间:2023-04-03 20:11:18 Node.js

为什么要对Array方法进行分类分析?因为常用,而且面试一定要问怎么改变原来的数组。pop删除并返回数组的最后一个元素。push从末尾向数组添加元素并返回一个新元素。数组长度值reverse将数组元素反转,返回反转后的数组shift删除并返回第一个元素的值sort数组排序splice从指定位置开始删除指定长度的元素,并返回删除的项。unshift向数组开头添加多个元素,返回新数组的长度,不改变原数组concat返回合并后数组的副本join返回一个字符串切片,通过连接符连接数组元素返回一个新的选中元素数组toString返回一个字符串等价于join()如何循环遍历一次删除多个元素并改变数组的长度for(vari=arr.length-1;i>=0;i--){if(arr[i]===1){arr.splice(i,1)}}操作Array元素的回调方法集合forEach,map,filter,every,some,reduce,reduceRightforEach对元素进行回调操作vara=['1',20,30];a.forEach((item,index,a)=>{++item})//不会改变a的值a.forEach((item,index)=>{a[index]=++item})//改变一个map回调元素的值,返回一个由回调返回值组成的新数组vara=['1',20,30];varb=a.map((item,index,a)=>{return++item//没有返回则输出undefined})//[2,22,32]filter返回元素回调返回a返回值为true的新元素数组vara=['1',20,30];console.log(a.filter((item)=>{returntypeofitem==='string'}))//['1']每当所有元素的回调返回true时,值为true。用于判断所有元素是否满足某个条件vara=['1',20,30];console.log(a.every((item)=>{returntypeofitem==='string'}))//falsome只要其中一个元素callback返回true就为true。用于判断一个元素是否满足单一条件vara=['1',20,30];console.log(a.some((item)=>{returntypeofitem==='string'}))//truereduce和reduceRight是数组元素,按照回调逻辑成对递归处理。处理后返回结果。vara=['1',20,30];var总计=a.减少(函数(第一,第二){返回第一+第二;},2);安慰。log(total)//212030(((两个参数2+'1')+20)+30)vartotal=a.reduceRight(function(first,second){returnfirst+second;},2);console.log(total)//521(((第二个参数2+30)+20)+'1')如何循环删除多个元素,数组长度不变for(leti=0;i