js中数组遍历及方法

遍历数组方法

foreach方法:foreach(value,index,array)

foreach方法有三个参数,第一参数value是数组的每一项,
第二个参数index是数组的索引值
第三个参数array是数组本身
****注意foreach方法不会改变原数组,如果需要改变必须赋值新数组
foreach中return和continue都不起作用

map方法:map(value,index,array)

map方法有三个参数,第一参数value是数组的每一项,
第二个参数index是数组的索引值
第三个参数array是数组本身
map不会改变原数组
map会生成新数组

filter方法:filter((currentValue, indedx, arr), thisValue)
过滤符合条件

filter不会改变原数组
filter不会遍历空数组
filter是过滤符合条件的元素返回一个新数组
filter必须有返回值return,return也为符合条件的
currentValue参数是必须的

some方法:some(value,index,arr)

some循环每一项如果符合条件返回true
只要符合条件的就会返回true
return为判断条件

every方法:every(value,index,arr)

every不会循环空数组
every开始循环后只要发现一项不符合条件就会停止循环,返回false
return为判断条件

some一直在找符合条件的值,一旦找到,则不会继续迭代下去。
every从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。

find方法:find(value,index,arr)

遍历数组,返回符合条件的第一个元素 ,如果没有符合条件的元素则返回 undefined

findIndex方法:findIndex(value,index,arr)

遍历数组,返回符合条件的第一个元素的索引,如果没有符合条件的元素则返回 -1

includes方法:includes(value)

判断数组中是否含有value值;是返回true;否则返回flase;多用于判断

reduce方法:(pre,next,idx)

三个值分别是前一个,后一个值,和索引可以计算数组和以及其他算法,return pre+next; 需要给方法设置初始值
arr.reduce(function(prev,cur,index,arr){

}, init); init为初始值


js数组方法

toString()方法:

将数组每一项以 ,分割为字符串
toString()方法可以根据所传递的参数把数值转换为对应进制的数字字符串。参数范围为 2~36 之间的任意整数。
不会改变原数组
32.toString(2),()中进制数即可

join方法:

它的行为类似 toString(),但是您还可以规定分隔符:
join()中的参数不传或传undefind会默认以 ,分割为字符串
不会改变原数组

会改变原数组的:

pop() 方法从数组中删除最后一个元素
push()方法从数组中最后添加一个元素
shift()方法从数组中第一个位置删除一个元素
unshift()方法从数组第一个位置添加一个元素

delete()方法:

delete会删除元素但是会留下undefind
使用为delete arr[index]

splice方法:splice(index,howmany,item1,item2…)

第一个参数index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
第二个 howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。
第三个参数及以后参数可选。向数组添加的新项目。
会改变数组
如果只传一个参数,则会在参数索引位置删除到最后位置

concat() 方法不会更改现有数组。它总是返回一个新数组。

slice方法:slice(start,end)

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从数组的尾部开始算起的位置。也就是说,-1 指数组的最后一个元素,-2 指倒数第二个元素,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原数组结尾的元素。如果该参数是负数,那么它规定的是从数组的尾部开始算起的位置。
***slice方法对字符串同样可适用,如果只写一个参数则是从参数下标位置索引截取到结束
slice方法不会改变原数组或原字符串

reverse方法

reverse() 方法用于颠倒数组中元素的顺序
该方法会改变原来的数组,而不会创建新的数组。

sort方法:sort(sortby)

sortby 可选。规定排序顺序。必须是函数
sort() 方法用于对数组的元素进行排序。
sort方法做对比是会把数组每一项看作字符串并且按位对比。
sort(a,b) return a-b 数字对比时生序;降序只需要return b-a
字母排序会以26英文字母顺序排序,先排首字母,如果首字母相同再排第二个以此类推


js中call,bind,apply的用法

这三个函数都是用来改变this的指向问题
call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象
****第二个参数就不一样啦
call 的参数是直接放进去的,第二第三第 n 个参数全都用逗号分隔,直接放到后面,call(‘指向的对象’,参数,参数)
apply 的所有参数都必须放在一个数组里面传进apply(‘指向的对象’,参数,参数)
bind 除了返回是函数以外,它 的参数和 call 一样。bind(‘指向的对象’,参数,参数)()------这个()是必须的

当然,三者的参数不限定是 string 类型,允许是各种类型,包括函数 、 object 等等!

个人整理内容,如有错误还请见谅

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值