JavaScript的数组怎么用
小编给大家分享一下JavaScript的数组怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
向数组添加元素的方法:1.Array.push(value1,value2,…)向数组的末尾追加
返回值是添加数据后数组的新长度。
会改变原有数组
letarr=[1,2,3];letresult=arr.push(4,5);console.log(result)//5console.log(arr)//[1,2,3,4,5]2.Array.unshift(value1,value2,…)
向数组的开头添加
返回值是添加数据后数组的新长度。
会改变原有数组
letarr=[1,2,3];letresult=arr.unshift(4,5);console.log(result)//5console.log(arr)//[4,5,1,2,3]3.splice(index,0,value1,value2,…)
向数组的指定 index 处插入
返回的是被删除的元素。
会改变原有数组
如果只传入俩个参数那就是从【参数1】的位置删除【参数2】个数
letarr=[1,2,3];letresult=arr.splice(2,0,4,5);console.log(result)//Array(0)console.log(arr)//[1,2,4,5,3]向数组删除元素的方法:1.pop()
从尾部删除一个元素
返回被删除掉的元素。
会改变原有数组
letarr=[1,2,3];letresult=arr.pop();console.log(result)//3console.log(arr)//[1,2]2.shift()
从头部删除一个元素
返回被删除掉的元素。
会改变原有数组
letarr=[1,2,3];letresult=arr.shift();console.log(result)//1console.log(arr)//[2,3]3.splice(index,howmany)
在 index 处删除 howmany 个元素,
返回的是被删除掉的元素的集合。
会改变原有数组
letarr=[1,2,3];letresult=arr.splice(1,2);console.log(result)//[2,3]console.log(arr)//[1]数组排序的方法:1.reverse()
反转,倒置
该方法会改变原有数组。
letarr=[1,2,3];letresult=arr.reverse();console.log(result)//[3,2,1]console.log(arr)//[3,2,1]2.sort()
按指定规则排序
改变原有数组。
letarr=[2,1,3];letresult=arr.sort();console.log(result)//[1,2,3]console.log(arr)//[1,2,3]
注意: 如果你认为 sort 方法是让数组从小到大排序那就错了。 我们可以改变一下刚才的数组,加一些大一点的数字。
letarr=[25,148,12,6,38];letresult=arr.sort();console.log(result)//[12,148,25,38,6]console.log(arr)//[12,148,25,38,6]
有些朋友现在是不是稍微有一点懵了? 可是我们还是能找到一些规律的,他就是首先按照一个数字的第一个字符的大小去做比较,然后再用第二个字符去做比较,小的在前面,如果朋友们想让这个数组从真正的小到真正的大排序,那么我们可以改造一下刚才的代码。
letarr=[25,148,12,6,38];letresult=arr.sort((a,b)=>a-b);console.log(result)//[6,12,25,38,148]console.log(arr)//[6,12,25,38,148]
如果想要从大到小排序那么就
letarr=[25,148,12,6,38];letresult=arr.sort((a,b)=>b-a);console.log(result)//[148,38,25,12,6]console.log(arr)//[148,38,25,12,6]
总的来说,数组的 sort 方法里面的参数是一个回调函数,有俩个值,返回值如果是第一个值减去第二个值那么就是从小到大排序,如果是第二个值减去第一个值就是从大到小排序。
数组连接的方法:1.concat()数组连接
返回连接后的新数组。
letarr=[25,148,12,6,38],arr2=[1,5,8]letresult=arr.concat(arr2);console.log(result)//[25,148,12,6,38,1,5,8]console.log(arr)//[25,148,12,6,38]2.join()
将数组的每个元素以指定分隔符(默认为“,”)连接成字符
返回该连接完成后的字符串。
letarr=[25,148,12,6,38];letresult=arr.join(),result2=arr.join('+')console.log(result)//25,148,12,6,38console.log(result2)//25+148+12+6+38console.log(arr)//[25,148,12,6,38]数组截取的方法:1.slice(start,end)
从 start 起始索引处,截取到 end 结束索引处
返回截取到的元素集合。 注意: 如果不传值那么就是直接拷贝了一份数组的值。 end 可以不传值,表示截取到数组的末尾。start 与 end 也可以取负值,取负值表示从后向前计数。
letarr=[1,2,3,4,5,6,7];letresult=arr.slice(),result2=arr.slice(2),result3=arr.slice(2,4);console.log(result)//[1,2,3,4,5,6,7]console.log(result2)//[3,4,5,6,7]console.log(result3)//[3,4]console.log(arr)//[1,2,3,4,5,6,7]数组转换的方法:1.toString()
转换为字符串,和不传参数的 join()一致,还可以使用 2,8,16 进制转变为不同结果。
letarr=[1,2,3,4,5,6];letresult=arr.toString();console.log(result)//1,2,3,4,5,6console.log(arr)//[1,2,3,4,5,6]提取数组指定深度的方法
比如说现在有一个这样的数组: [1,2,[3,4,[5,6]]], 我想将它输出为[1,2,3,4,5,6]。 如果自己去写递归的话还是比较麻烦的。 那么我们可以使用数组本身的 flat 方法来深度解析。 1.flat()
按照指定的深度递归遍历数组
返回值是遍历到的所有元素集合。
letarr=[1,2,[3,4,[5,6]]],res=arr.flat(Infinity),//无限递归,直到最后res2=arr.flat();//如果不传参数那么只递归一次console.log(arr)//[1,2,[3,4,[5,6]]]console.log(res)//[1,2,3,4,5,6]console.log(res2)//[1,2,3,4,[5,6]]
以上是“JavaScript的数组怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。