最近几年,随着高新技术的不断出现,各种编程软件也开始进入到人们的视野当中。今天就来为大家说一下java编程语言的基础知识,也就是java循环遍历,
reduce(),reduceRight()方法和Object,keys遍历对象的属性,一起来看看吧。
首先说一下reduce(),reduceRight()方法。
reduce方法和reduceRight方法依次处理数组的每个成员,最终累计为一个值。它们的差别是,reduce是从左到右处理(从第一个成员到最后一个成员),reduceRight则是从右到左(从最后一个成员到第一个成员),其他完全一样。代码展示如下:
[1, 2, 3, 4, 5].reduce(function (a, b) { console.log(a, b); return a + b; }) // 1 2 // 3 3 // 6 4 // 10 5 //最后结果:15
reduce方法和reduceRight方法的第一个参数都是一个函数。该函数接受以下四个参数。
1. 累积变量,默认为数组的第一个成员
2. 当前变量,默认为数组的第二个成员
3. 当前位置(从0开始)
4. 原数组
这四个参数之中,只有前两个是必须的,后两个则是可选的。
如果要对累积变量指定初值,可以把它放在reduce方法和reduceRight方法的第二个参数。代码展示如下:
[1, 2, 3, 4, 5].reduce(function (a, b) { return a + b; }, 10); // 25
上面的第二个参数相当于设定了默认值,处理空数组时尤其有用,可避免一些空指针异常。
由于这两个方法会遍历数组,所以实际上还可以用来做一些遍历相关的操作。比如,找出字符长度最长的数组成员。代码展示如下:
function findLongest(entries) { return entries.reduce(function (longest, entry) { return entry.length > longest.length ? entry : longest; }, ''); } findLongest(['aaa', 'bb', 'c']) // "aaa"
上面代码中,reduce的参数函数会将字符长度较长的那个数组成员,作为累积值。这导致遍历所有成员之后,累积值就是字符长度最长的那个成员。
然后为大家介绍一下Object,keys遍历对象的属性
Object.keys方法的参数是一个对象,返回一个数组。该数组的成员都是该对象自身的(而不是继承的)所有属性名,且只返回可枚举的属性。代码展示如下:
var obj = { p1: 123 , p2: 456 }; Object.keys(obj) // ["p1", "p2"]
以上就是关于java循环遍历, reduce(),reduceRight()方法和Object,keys遍历对象的属性的主要内容了。java循环遍历知识还是比较重要的。如果你对java知识感兴趣,想要了解更多java实例,敬请关注奇Q工具网。
推荐阅读: