微信小程序js有一个数组对象,里边有一个部门名称,去除重复的部门,计算出部门数量显示到界面上。代码演示
时间: 2024-02-06 16:09:57 浏览: 28
假设数组对象如下:
```javascript
var data = [
{ id: 1, name: '部门A' },
{ id: 2, name: '部门B' },
{ id: 3, name: '部门C' },
{ id: 4, name: '部门A' },
{ id: 5, name: '部门B' }
];
```
可以使用以下代码去除重复的部门,并计算部门数量:
```javascript
// 去除重复的部门
var uniqueData = Array.from(new Set(data.map(item => item.name)));
// 计算部门数量
var count = uniqueData.length;
```
最后将部门数量显示到界面上即可。
完整代码如下:
```javascript
var data = [
{ id: 1, name: '部门A' },
{ id: 2, name: '部门B' },
{ id: 3, name: '部门C' },
{ id: 4, name: '部门A' },
{ id: 5, name: '部门B' }
];
// 去除重复的部门
var uniqueData = Array.from(new Set(data.map(item => item.name)));
// 计算部门数量
var count = uniqueData.length;
// 将部门数量显示到界面上
console.log(count);
```
输出结果为:3。
相关问题
微信小程序js里data数据里有一个数组对象,循环显示不重复的部门名称,并计算相同部门的数量,代码演示
好的,可以参考以下代码:
在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>
```
微信小程序js的data数据里边有一个数组对象,里边有一个部门名称,求for循环把部门名称显示到界面上,再去除重复的部门数量,计算出部门数量显示到w.xml上,全部代码演示
首先在w.xml文件中添加一个显示部门数量的节点,如下所示:
```xml
<view>部门数量:{{departmentCount}}</view>
```
然后在w.js文件中,通过setData方法将部门数量显示在界面上。具体代码如下:
```javascript
Page({
data: {
departments: [
{ name: '部门A', memberCount: 10 },
{ name: '部门B', memberCount: 20 },
{ name: '部门C', memberCount: 15 },
{ name: '部门B', memberCount: 5 },
{ name: '部门A', memberCount: 12 },
],
departmentCount: 0,
},
onLoad: function () {
// 遍历部门数组,获取所有的部门名称
const departmentNames = this.data.departments.map(department => department.name);
// 去重
const uniqueDepartmentNames = [...new Set(departmentNames)];
// 获取部门数量
const departmentCount = uniqueDepartmentNames.length;
// 更新部门数量显示
this.setData({
departmentCount: departmentCount,
});
},
})
```
在上述代码中,我们首先定义了一个包含多个部门对象的数组departments。接着在onLoad生命周期函数中,通过map方法遍历数组中的每一个部门对象,获取部门名称存储到departmentNames数组中。然后通过Set对象去重,再通过展开运算符(...)将去重后的部门名称放到uniqueDepartmentNames数组中。最后获取uniqueDepartmentNames数组的长度,即为部门数量,然后通过setData方法更新departmentCount的值,从而在界面上显示部门数量。