filter过滤器和reduce求和以及

1. filter()过滤器

filter() 是 JavaScript 数组的一个方法,而不是 Vue.js 或 UniApp 特有的过滤器。filter() 方法用于创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

<template>
	{{sum}}
</template>

<script setup>
	import {
		computed,
		ref
	}} from 'vue';
// 初始化一个包含一组数字的响应式数组
	const numbers = ref([1, 2, 15, 20, 25, 30, 5]);

// 计算总和
// 根据numbers数组中大于5的项来计算总和
	var sum = computed(() => {
// 过滤出数组中大于5的项
		let count = numbers.value.filter(item => item > 5);
// 初始化一个用于累加的变量
		let sum = 0;
// 遍历过滤后的数组,累加其值
		count.forEach((item, index) => {
			console.log(index);
			sum += item
		})
// 返回计算后的总和
		return sum;
	})
</script>

<style scoped>
	.container {
		padding: 20rpx;
	}
</style>

2. reduce()计算总和

const calculateTotal = () => {
  total.value = numbers.value.reduce((sum, item) => sum + item, 0);
};
  • reduce 方法用于将数组中的元素通过一个函数处理后归约为单个值。
  • 这里 (sum, item) => sum + item 是回调函数,接收两个参数:累积器 sum 和当前元素 item
  • 初始值 0 作为 sum 的起始值。
  • 对 numbers.value 中的每个元素执行加法操作,得到总和。
  • 最终结果赋值给 total.value
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值