Lodash和JS数据处理(一)
<template>
<div>
</div>
</template>
<script>
export default {
data () {
return {
testList: [],
list: [
{
cityName: '郑州市',
vmCount: 30
},
{
cityName: '南阳市',
vmCount: 56
},
{
cityName: '开封市',
vmCount: 25
}
],
cloud: [
{
cityName: '郑州市',
alarmCount: 12
},
{
cityName: '洛阳市',
alarmCount: 28
}
],
net: [
{
cityName: '郑州市',
alarmCount: 25
},
{
cityName: '开封市',
alarmCount: 18
},
{
cityName: '信阳市',
alarmCount: 28
},
{
cityName: '许昌市',
alarmCount: 56
}
]
}
},
methods: {
cData () {
this.testList = _.map(this.list, 'vmCount')
console.log(this.testList)
this.testList = _.find(this.list, ['vmCount', 56])
console.log(this.testList)
this.testList = _.orderBy(this.list, 'vmCount', 'desc')
console.log(this.testList)
this.testList = _.groupBy(this.list, 'cityName')
console.log(this.testList)
},
filterData () {
let resultData = []
const cloud = this.cloud
const net = this.net
const cloudCityNames = _.map(cloud, 'cityName')
const netCityNames = _.map(net, 'cityName')
const CityNames = Array.from(new Set([...cloudCityNames, ...netCityNames]))
resultData = CityNames.map(city => {
return [
city,
cloud.filter(c => (c.cityName === city))[0] ? cloud.filter(c => (c.cityName === city))[0].alarmCount : 0,
net.filter(n => (n.cityName === city))[0] ? net.filter(n => (n.cityName === city))[0].alarmCount : 0
]
})
}
},
mounted () {
this.cData()
this.filterData()
}
}
</script>
<style scoped>
</style>```