java中的知识点是十分庞大而又复杂的,这也就使得大家在日常的学习中需要花费更多的时间和精力了。今天就来为大家介绍一下与java循环特征有关的内容,也就是java的循环特征之间有哪些相同点以及有哪些不同点?一起来看看吧。
具体如下所示:
一:map(),foreach,filter循环的共同之处:
1.foreach,map,filter循环中途是无法停止的,总是会将所有成员遍历完。
2.他们都可以接受第二个参数,用来绑定回调函数内部的this变量,将回调函数内部的this对象,指向第二个参数,间接操作这个参数(一般是数组)。
二:map()循环和forEach循环的不同:
forEach循环没有返回值;map,filter循环有返回值。
三:map(环和filter()循环都会跳过空位,for和while不会,代码如下所示:
var f = function (n) { return 'a' }; [1, undefined, 2].map(f) // ["a", "a", "a"] [1, null, 2].map(f) // ["a", "a", "a"] [1, , 2].map(f) // ["a", , "a"]
上面代码中,map方法不会跳过undefined和null,但是会跳过空位。forEach方法也会跳过数组的空位。
四:some()和every():
some()只要有一个是true,便返回true;而every()只要有一个是false,便返回false.
五:reduce(),reduceRight():
reduce是从左到右处理(从第一个成员到最后一个成员),reduceRight则是从右到左(从最后一个成员到第一个成员)。
六:Object对象的两个遍历Object.keys与Object.getOwnPropertyNames:
他们都是遍历对象的属性,也是接受一个对象作为参数,返回一个数组,包含了该对象自身的所有属性名。但Object.keys不能返回不可枚举的属性;Object.getOwnPropertyNames能返回不可枚举的属性。
以上就是关于java的循环特征之间有哪些相同点以及有哪些不同点的主要内容了。具体展开来看还是非常好理解的。如果你对java知识感兴趣,想要了解更多java常见问题,敬请关注奇Q工具网。
推荐阅读:
java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性