微信小程序js里data数据里有一个数组对象,循环显示不重复的部门名称,并计算相同部门的数量,代码演示
时间: 2024-02-06 07:11:27 浏览: 114
好的,可以参考以下代码:
在data里面定义一个数组对象,比如:
```javascript
data: {
departments: [
{ name: '部门A', count: 0 },
{ name: '部门B', count: 0 },
{ name: '部门C', count: 0 },
// ...
],
// 其他数据
}
```
然后在onLoad生命周期函数中,获取部门数据并进行统计:
```javascript
onLoad: function () {
// 获取部门数据,假设是一个数组
const originalData = [
{ name: '部门A' },
{ name: '部门A' },
{ name: '部门B' },
{ name: '部门C' },
{ name: '部门C' },
{ name: '部门C' },
// ...
];
// 统计部门数量
const departments = this.data.departments;
originalData.forEach(item => {
const department = departments.find(d => d.name === item.name);
if (department) {
department.count += 1;
}
});
// 更新数据
this.setData({ departments });
}
```
其中,forEach循环用来遍历原始数据,find函数用来查找对应的部门对象。如果找到了,就将对应部门的数量加1。
最后,通过setData函数更新data中的departments数据,用来在页面上展示。在页面上可以使用wx:for循环来遍历departments数组对象,并显示部门名称和数量,比如:
```html
<view wx:for="{{departments}}" wx:key="index">
<text>{{item.name}}:{{item.count}}</text>
</view>
```
阅读全文