java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性

由于java知识的应用具有一定的广泛性,所以它经常会应用到我们的日常使用当中。那么今天就为大家介绍一下java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性,一起来看看吧。

首先说一下,some(),every()循环遍历,统计数组是否满足某个条件 。

这两个方法类似“断言”(assert),返回一个布尔值,表示判断数组成员是否符合某种条件。

它们接受一个函数作为参数,所有数组成员依次执行该函数。该函数接受三个参数:当前成员、当前位置和整个数组,然后返回一个布尔值。

some方法是只要一个成员的返回值是true,则整个some方法的返回值就是true,否则返回false。代码展示如下:

var arr = [1, 2, 3, 4, 5];
arr.some(function (elem, index, arr)
{
    return elem >= 3;
});
// true

而every方法则相反,所有成员的返回值都是true,整个every方法才返回true,否则返回false。两相比较,some()只要有一个是true,便返回true;而every()只要有一个是false,便返回false。代码展示如下:

var arr = [1, 2, 3, 4, 5];
arr.every(function (elem, index, arr)
{
    return elem >= 3;
});
// false

这两个方法在实际开发中,大有可用之处。比如在判定用户是否勾选了不可操作的数据,或者是否勾选了一条可以操作的数据可以使用这两个方法遍历循环数组。

然后说一下Object.getOwnPropertyNames()遍历对象的属性

Object.getOwnPropertyNames方法与Object.keys类似,也是接受一个对象作为参数,返回一个数组,包含了该对象自身的所有属性名。但它能返回不可枚举的属性。代码展示如下:

var a = ['Hello', 'World'];
Object.keys(a) // ["0", "1"]
Object.getOwnPropertyNames(a) // ["0", "1", "length"]

上面代码中,数组的length属性是不可枚举的属性,所以只出现在Object.getOwnPropertyNames方法的返回结果中。

由于JavaScript没有提供计算对象属性个数的方法,所以可以用这两个方法代替。代码展示如下:

var obj = {
    p1: 123
    , p2: 456
};
Object.keys(obj)
    .length // 2
Object.getOwnPropertyNames(obj)
    .length // 2

以上就是关于java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性的主要内容了。如果你对java知识感兴趣,想要了解更多java经典例子,敬请关注奇Q工具网。

推荐阅读:

java中数组如何使用?foreach循环实例展示

java map()和forEach循环,实例代码分享

java基础知识,类的构成与循环语句