数组创建和操作数组方法

数组三要素 : 元素 , 下标 , 长度

创建数组的基本方式有两种
方式一:使用Array()构造函数 语法: var colors=new Array();
注:小括号可直写数组的项目数量var colors=new Array(5);
或者数组包含的具体值 var colors=new Array(1,2,3,5,0,10);

方式二:使用数组字面量表示法 语法: var cols=[10,15,12,3,5,6,1];var cols=[];
两种创建数值的方式不同之处在于 : new Array(10) 表示数组长度为10,没有元素 var arr = [10]表示数组长度为1,值为10
JS中的数组可以同时存放不同数据类型的数据

数组元素的读写,使用方括号[]并提供相应的索引,索引从0开始;
获取第1个数组项 colors[0]; 获取第3个数组项 colors[2] ; 最后一个 colors[color.length-1]
取值下标值超过数据本身的长度 , 返回undefined

length–获取数组长度
语法: arr.length;

push()----往数组后面添加元素 常用!!!
语法: arr.push(newele1, newele2, newele3, newX)
返回值:把指定的参数添加到数组尾部后返回新数组的长度值

pop()—删除数组的最后一个元素
语法: arr.pop()
返回值:被删除的那个元素
语法 : arr.length-- ;

unshift()----往数组最前面添加元素
语法: arr.unshift(newele1, newele2, newele3, newX)

shift()—删除数组的第一个元素
语法: arr.shift()
返回值:被删除的那个元素
返回值:把指定的参数添加到数组头部后返回新数组的长度值

join()—把数组中的所有元素合成一个字符串
语法: var str=arr.join() //默认使用逗号隔开,可在括号添加”-”、””修改

reverse()—颠倒数组中元素的顺序;
语法: arr.reverse()

sort()—对数组元素进行排序,sort会将数组数据全部转为字符串再排序,因此需要定义一个function
普通数组排序: arr.sort(function(a,b){ return a-b}); //a和b随意定义,也可x和y
对象数组排序

注: 根据对象中的其中一个值对数组进行排序

concat()—用于连接两个或多个数组
语法: var arrZ=arr1.concat(arr2,arr3,…,arrN) //将arr1-arrN合并到arrZ中,不会改变原数组

slice()—从已有的数组中返回指定下标数的元素
语法: var arr= arr1.slice(start,end)
参数: start表示开始的下标数,end表示结束的下标数(不包含该元素)start <= 范围 < end

splice()—可删除、插入、替换数组
删除从index处开始的零个或多个元素,返回被删除的元素,count不设,则删除index后所有值
删除语法: var delArr=arr.splice(index,count);
插入,在index下标的元素位置前插入item1…itemX,count为0,表示不删除项数,返回值为空
插入语法: var insertArr=arr.splice(index,0,item1…itemX)
替换, 先删除index下标开始的count个值,后插入item1…itemX等值,返回被删除的元素
替换语法: var replaceArr=arr.splice(index,count,item1…itemX)

indexOf()—从数组的开头位置开始向后查找,返回下标数值
语法: arr.indexOf(searchvalue,startIndex)
参数: searchvalue:必需,要查找的项; startIndex:可选,起点位置的索引;

lastIndexOf()—从数组的末尾位置开始向前查找,返回下标数值
语法: arr.lastindexOf(searchvalue,startIndex)
参数: searchvalue:必需,要查找的项; startIndex:可选,起点位置的索引;

includes()—如果数组或字符串包含括号中的元素就会返回true,否则为false
语法 : arr.includes(5)

findIndex()方法
作用 : 对数组元素进行遍历 , 返回第一个满足条件的那个值的下标 , 如果全部不满 足 , 返回 -1
应用场景 : 对搜索栏进行模糊查询


扩展: find()
跟findIndex()类似, find返回的是值本身

filter()方法
作用 : 对数据进行过滤 , 当return的值为true, 则把当前项放到新数组中 , 返回一 个新的数组
语法 : arr.filter( ( 数组每一项 , 数组索引 , 数组本身 ) => { return true/false } )


forEach()方法
作用 : 专门用于遍历数据 , 类似于for循环

无法使用break或return跳出循环

map()方法
作用 : 遍历数组 , 并且返回一个新的数组


some()方法
作用 : 遍历数组 , 判断数组中是否有满足条件的元素 , 返回布尔值true或false


every()方法
作用 : 遍历数组 , 判断数组中每一个元素是否都满足条件 , 返回布尔值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值