工作中,我们经常用到的一个数据类型就是数组.最近做vue前端时候,经常会遇到数据修改,我们前端要保证无刷新修改.让我这好一顿操作呀.整理了几个数组操作.虽然不是什么难点.但是梳理清楚了,会加快我们的编码速度哦.
随着ES6标准的发行,很多不是JavaScript标准的东西也加入到标准中.今天我们来看一下forEach,map,filter,some,every,
forEach
可以对数组中的每一元素元素,进行回调函数操作,回调函数里,可以修改数组本身
结果
我们可以看出来,
1.forEach是没有返回值的 2.回调函数中不需要返回值 2.forEach修改数组的值,不能是基本数据类型(String,Number等)
map
对数组中的每一个元素进行回调函数操作,并返回一个新数组
结果
我们可以看出来
1.map有返回值,返回值是一个新的数组. 2.回调函数中返回的的是元素或者具体的值,会成为新数组的一个元素
filter
对数组中的每一元素进行回调操作,如果函数返回的是true,那该元素就会被返回.如果返回是false,那改元素就会被忽略掉
结果
我们可以看出来
1.filter有返回值,返回的是符合条件的元素 2.回调函数中返回的是boolean类型的
some
对数组中的每一个元素进行回调函数操作,如果其中一个元素进行操作时候,返回的是true,那返回值就是true,而且后面的元素就不会在遍历.如果没有返回true的,那最后返回的是false.
结果
我们可以看出来
1.some有返回值,返回的是boolean 2.回调函数中返回的是boolean类型的
注意:通过我们会有这种需求,针对数组中的一个元素进行操作.当然这5种方法都可以实现,但是我们想.当我们操作了我们想要的数据后,那我们后面就不用再遍历了,毕竟再遍历就是浪费资源.那我们就可以用some来实现.之前jquery时候,有个each方法.如果我们不想继续循环了,可以return false,就可以结束循环,相当于break.但是在我们这几种方法中中.是不支持break的.
every
这个操作跟some有点类似,也是会对数组中每一个元素进行回调操作,当所有元素进行操作时候返回true,那整体返回是true,只要其中有一个元素返回false,那整体就是false,而且返回false,后面的元素不会再遍历.
结果
我们可以看出来
1.every有返回值,返回值是boolean 2.回调函数中返回的是boolean类型的
总结:
forEach用于循环数据,比较通用的功能 map用于对数组中的元素集中进行操作,并返回新的数组 filter用于过滤数组,返回符合条件的数组 some用于查找数组中是否有符合某种情况的元素.有就是true,没有就是false every用于限制数组中的元素是否符合限制.符合就true,有一项不符合就返回false
这些知识点都是我们经常用到的,整理下来只是为了加强印象.谢谢大家..