js中数组迭代函数—(1)不生成新数组

本文深入探讨了JavaScript中不生成新数组的迭代器方法,包括forEach、every、some、reduce和reduceRight,并通过示例代码展示其用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不生成新数组的迭代器方法它们要么对于数组中的每个元素执行某种操作, 要么返回一个值。
 1、forEach(), 该方法接受一个函数作为参数, 对数组中的每个元素使用该函数
 
<script type="text/javascript">
function square(num) {
document.write(num * num+"\t");
}
function doEach(){
var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ;
nums. forEach(square);
}
</script>
 
nums数组里面的每个元素都会以形参的形式传入square()去执行 一次。
2、
every()该方法接受一个返回值为布尔类型的函数, 对数组中的每个元素使用该函数。如果对于所有的元素, 该函数均返回 true, 则该方法返回 true
 
<script type="text/javascript">
function isEven(num) 
{
return num % 2 == 0;
}
function doEvery()
{
    var nums = [2, 4, 6, 8, 10] ;
    var even = nums. every(isEven);
    if (even) 
    {
    alert(" all numbers are even" );
    }
    else 
    {
    alert(" not all numbers are even" );
    }
}
</script>
 
3、some(),该方法也接受一个返回值为布尔类型的函数, 只要有一个元素使得该函数返回 true该方法就返回 true
 
<script type="text/javascript">
function isEven(num) 
{
return num % 2 == 0;
}
function doSome()
{
    nums = [1, 3, 5, 7, 9] ;
    someEven = nums. some(isEven);
    if (someEven) 
    {
    document.write(" some numbers are even" );
    }
    else 
    {
    document.write(" no numbers are even" );
    }
}
</script>
 
4、reduce() ,该方法接受一个函数, 返回一个值。该方法会从一个累加值开始, 不断对累加值和
数组中的后续元素调用该函数, 直到数组中的最后一个元素, 最后返回得到的累加值。
 
<script type="text/javascript">
function add(runningTotalcurrentValue) 
{
    return runningTotal + currentValue;
}
function doReduce()
{
    var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ;
    var sum = nums. reduce(add);
    document.write(sum);
}
</script>
 
5、reduceRight() 方法,和 reduce() 方法不同, 它是从右到左执行。
 
<script type="text/javascript">
function concat(accumulatedStringitem) 
{
    return accumulatedString + item;
}
function doReduceRight()
{
    var words = [" the " , " quick " , " brown " , " fox " ] ;
    var sentence = words. reduceRight(concat);
    document.write(sentence );
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值