把城市按首字母分类

函数

function group_pinyin(list,group_flag){
var array=[];
$.each(list,function(){
var store=[];
var group = this.FIRST_LETTER;//首字母
var item = this;
var array_index=-1;
var id = this[group_flag];
$.each(array,function(i){
if(this[group]){
store = this[group];
array_index = i;
return false;
}
})
var add = true;
$.each(store,function(){
if(this[group_flag]==id){
add=false;
}
})
if(add)store.push(item);
var obj = {sort:group};
obj[group]=store;
if(array_index!=-1){
array[array_index]=obj;
}else{
array.push(obj);
}
})
return array;
}

 

引用

ajax({data:data,success:function(json){
var citys = toJSON(json.citys);
//console.log(citys);
citys = group_pinyin(citys,"PROVINCE_ID");
var stores = toJSON(json.stores);
var list = toJSON(json.list);
//citys = citys[0].FIRST_LETTER;
//console.log(stores);
//取得城市
for(var i=0;i<citys.length;i++){
var key = citys[i].sort;
var list = citys[i][key];
$.each(list,function(){
var hotId = this.IS_HOT;
var cityID = this.CITY_ID;
if(hotId == 12781001){
var hotCity = this.SIMPLIFIED_NAME;
$("#city_item_1").append('<a href="javascript:void(0);" data-id="'+cityID+'">'+hotCity+'</a>');
}
var cityName=this.SIMPLIFIED_NAME;
$(".city_"+key).append('<a href="javascript:void(0);" data-id="'+cityID+'">'+cityName+'</a>');
})
}
//FIRST_LETTER
//SIMPLIFIED_NAME CITY_ID
//取得门店
for(var i=0;i<stores.length;i++){
var storeName = stores[i].NAME;
var storeID = stores[i].CITY_ID;
storesAdds.push(storeName);
//console.log(storeName);
};
//取得城市下面的门店
$(".city_item").find("a").on("click",function(event){
event.stopPropagation();
var cityID = parseInt($(this).attr("data-id"));
$(".city_item_adds").show();
$(".city_item_adds").find("ul").empty();
$(".tab_box").hide();
$(".city_item").hide();
var flag=0;
for(var i=0;i<stores.length;i++){
var storeID = stores[i].CITY_ID;

if(storeID == cityID){
flag++;
var storeName = stores[i].NAME;
var store_ID = stores[i].STORE_ID;
$(".city_item_adds").find("ul").append('<li id="'+store_ID+'">'+storeName+'</li>');
}
}
if(flag==0){
$(".city_item_adds").find("ul").empty().append('暂时还没有门店');
}
});

}});

转载于:https://www.cnblogs.com/smght/p/5163185.html

可以参考以下步骤来实现Vue2中按字母来分类城市: 1. 首先,将城市数据按照字母顺序排序,可以使用JavaScript中的sort()方法来实现。 2. 创建一个空对象,用于存储按字母分类城市数据。 3. 遍历排序后的城市数据,将每个城市按照首字母分类,并将分类后的城市数据存储到上一步创建的对象中。 4. 在Vue2中,可以使用v-for指令来遍历对象和数组,并使用v-if指令来判断是否需要渲染某个元素。 5. 最后,在Vue2组件中将分类后的城市数据渲染到页面上。 以下是一个基本的示例代码: ``` <template> <div> <div v-for="(cities, letter) in classifiedCities" :key="letter"> <h2>{{ letter }}</h2> <ul> <li v-for="city in cities" :key="city">{{ city }}</li> </ul> </div> </div> </template> <script> export default { data() { return { cities: ["北京", "上海", "广州", "深圳", "杭州", "成都", "重庆", "武汉"], classifiedCities: {} }; }, mounted() { this.classifyCities(); }, methods: { classifyCities() { this.cities.sort(); // 排序 this.cities.forEach(city => { const letter = city.charAt(0); if (!this.classifiedCities[letter]) { this.classifiedCities[letter] = []; } this.classifiedCities[letter].push(city); // 分类 }); } } }; </script> ``` 这个示例代码中,首先将城市数据存储在`cities`数组中,然后在`mounted`钩子函数中调用`classifyCities`方法来按字母分类城市数据,并将分类后的城市数据存储在`classifiedCities`对象中。最后,在模板中使用`v-for`指令来遍历分类后的城市数据,并使用`v-if`指令来判断是否需要渲染某个元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值