微信小程序 实现城市名称拼音搜索框 汉字/拼音(城市区县定位模块)

~ 文末展示项目更新哦 ~

更新II:代码已重构,比文中初始代码更清晰规范,功能不变,如有帮助请star。


要实现的效果展示如下
拼音搜索城市名称效果展示全拼简拼

总体思路:

  • 首先,数据中,城市对象里,包含其全拼、简拼的属性;
  • 然后,逻辑层,找出 能与 输入框输入的字符串 相匹配的 对象;
  • 最后,展示层,把所有匹配的城市名都渲染出来。

接下来,我们按步骤来一窥究竟。

首先,是数据

为了举例方便,test.js 中,我们使用简化版的数据:

'use strict’
const cityList = [{ "id": "35", "provincecode": "150000", "city": "\u963f\u62c9\u5584\u76df", "code": "152900", "initial": "A" ,"short": "alashan", "shorter": "als"},
              { "id": "38", "provincecode": "210000", "city": "\u978d\u5c71\u5e02", "code": "210300", "initial": "A" ,"short": "anshan", "shorter": "as"},
              { "id": "105", "provincecode": "340000", "city": "\u5b89\u5e86\u5e02", "code": "340800", "initial": "A" ,"short": "anqing", "shorter": "aq"},
              { "id": "156", "provincecode": "410000", "city": "\u5b89\u9633\u5e02", "code": "410500", "initial": "A" ,"short": "anyang", "shorter": "ay”}]

let finalCityList = []; //用来保存筛选后的结果

其中,cityList是我们的原始数据,它是一个数组,数组元素是以A为拼音首字母的4个城市对象:阿拉善盟、鞍山、安庆、安阳。

目前对我们有用的属性是:

  • short 保存了城市名的拼音
  • shorter 保存了城市名的简拼
  • city 保存了城市名

接着,是逻辑层:

function auto() {
  let inputSd = “Ay” 
  let sd = inputSd.toLowerCase();
  let
  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值