uniapp把城市换成26个字母和城市排序

后端返回的数据

我们要得效果

js 复制代码
<template>
	<view>
		<view v-for="(value,key) in cities" :key="key">
			<view style="color: red;"> {{ key }} </view>
			 <view style="border: 1rpx solid black;">
				<text v-for="item in value" style="margin-right: 15rpx;"> {{ item }} </text>
			 </view>
		</view>
	</view>
</template>

<script>
	import { citysApi } from '@/api/city.api.js'
	export default {
		data() {
			return {
				cities: {}
			}
		},
		methods: {
		},
		async onLoad() {
			const res = await citysApi()
			let obj = {}
		
			for(let i = 65; i <= 90; i++) {
				let key = String.fromCharCode(i)
				obj[key] = []
			}
			res.data.forEach(item => {
				let key = item.city_pre.toLocaleUpperCase()
				obj[key].push(item.city_name)
			})
			// 把长度为0的项,删除掉
			Object.keys(obj).forEach(key => {
				if(obj[key].length === 0)  delete obj[key]
			})
			this.cities = obj
		}
	}
</script>

<style>

</style>
相关推荐
子兮曰1 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
恋猫de小郭1 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
GIS之路3 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒5 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol6 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉6 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau6 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生6 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼6 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君879976 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter