在JavaScript中,我们需要时常对数组进行操作,现在特将常用方法总结如下:
1.增加数据
在JavaScript为数组增加数据主要分为两种方式。
从数组末尾增加内容:push方法
从数组的前端增加内容:unshift方法
这两种方法的返回值都是数组的长度
var arr=[1,2,3]; //从末尾增加 arr.push(4); console.log(arr);//[1,2,3,4] //从前端增加 arr.unshift(0); console.log(arr);//[0,1,2,3,4]
2.删除数据
和增加数据一样,删除数据和主要分为两种方式。
从数组末尾增加内容:pop方法
从数组的前端增加内容:shift方法
这两种方法的返回值都是删除的数据
var arr=[1,2,3]; //从末尾删除 arr.pop(); console.log(arr);//[1,2] //从前端删除 arr.unshift(); console.log(arr);//[2]
3.从指定位置删除和增加数据
splice(startIndex,deleteCount,addValue1,addValue2...):从数组的startIndex位置开始,删除deleteCount个数据,然后在插入addValue1,addValue2等,返回值是被删除的数组所组成的数组。
var arr=[1,2,3,4,5]; var deleteArr=arr.splice(1,2,8,9); console.log(deleteArr);//[2,3] console.log(arr);//[1,8,9,4,5]
从上面所知,数组的删除方法返回的都是被删除的内容,增加的方法返回的都是数组改变后的长度。
4.反序数组
reverse():将数组内容逆序。
var arr=[1,2,3]; arr.reverse(); console.log(arr);//[3,2,1]
5.将数组内容组成一个有特定分隔符的字符串
join(seperator):将数组内容组成一个字符串,内容以seperator分隔
var arr=[1,2,3]; arr.join(','); console.log(arr);//1,2,3
6.合并两个数组
concat():合并数组并返回一个新的数组,不影响原有数组。
var arr1=[1,2,3]; var arr2=[4,5,6]; var newArr=arr1.concat(arr2); console.log(arr1);//[1,2,3] console.log(arr2);//[4,5,6] console.log(newArr);//[1,2,3,4,5,6]
7.数组排序
sort():默认将数组进行数字或字母进行升序排序,但也可以自定义降序排序
var arr=[3,5,1]; arr.sort(); console.log(arr);//[1,3,5]; //指定降序 var arr1=[4,2,7]; arr1.sort(function(a,b){ return b-a; }) console.log(arr1);//[7,4,2]
8.截取子数组
slice(startIndex,endIndex):截取数组中从startIndex到endIndex之间的内容,不包括endIndex所在位置的内容组成一个新的数组
var arr=[1,2,3,4,5,6]; var newArr=arr.slice(1,3); console.log(arr);//[1,2,3,4,5,6] console.log(newArr);//[2,3]
9.判断给定数据在数组中的位置
indexOf(data):该方法返回data在该数组中所在的第一个元素位置,如果没有找到就返回-1
var arr=[1,2,3]; var loc=arr.indexOf(1); console.log(loc);//0 var newLoc=arr.indexOf(4); console.log(newLoc);//-1
10.迭代器
数组的迭代器方法很多。
a.普通的遍历数组:forEach(function(value,index,arr){}),其中index是索引,value是值,arr就是数组本身
var arr=[1,2,3]; //index是索引,value是值 arr.forEach(function(value,index,arr){ console.log(''index:"+index+" "+"value:"+value) })
b.过滤数组:filter(),根据过滤条件过滤数组,但不会改变原有数组
var arr=[1,2,3,4]; //返回数组中大于2的内容 var newArr=arr.filter(function(item){ return item>2; }) console.log(arr);//[1,2,3,4] console.log(newArr);//[3,4]
c.映射数组:map(),对数组每个元素进行一定映射后,返回一个新数组,不会改变原有数组
var arr=[1,2,3,4]; //将数组每个值扩大一倍 var newArr=arr.map(function(item){ return item*2; }); console.log(arr);//[1,2,3,4] console.log(newArr);//[2,4,6,8]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]