java的循环特征之间有哪些相同点?有哪些不同点?

BSO 2020-10-27 15:54:41 java常见问答 7115

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()遍历对象的属性

java中filter()过滤循环和while循环,实例分享

java中增强for…in循环,实例代码分享