利用json演示去重、统计、排序、数据整理问题案例介绍
<script>
var str='针织裙 丝绒裙 连衣裙 丝绒裙 针织裙 打底裙 连衣裙 复古裙 连衣裙 丝绒裙 连衣裙';
var arr=str.split(' ');//将字符串切成数组 [丝绒裙 针织裙 丝绒裙 连衣裙 丝绒裙 针织裙 打底裙 连衣裙 复古裙 连衣裙 丝绒裙 连衣裙]
var json={};
for(var i=0;i<arr.length;i++){
var key = arr[i];
if(json[key]){
//去重+统计
//存在
json[key]++;//取出属性值+1
}else{
//不存在
json[key]=1;//做一个属性赋值1
}
}
/*-----------去重、统计已经完成-----------*/
//排序
//有的数据 {针织裙: 2, 丝绒裙: 3, 连衣裙: 4, 打底裙: 1, 复古裙: 1}
//要的数据 [{name:针织裙,count:2},{name:丝绒裙,count:3},{},..,..]
var arr2=[];
for(var key in json){
arr2.push({name:key,count:json[key]});
}
arr2.sort(function(n1,n2){return n2.count-n1.count});//排序
/*-----------排序已经完成-----------*/
//有的数据[{name:连衣裙,count:4},..,..]
//要的数据['丝绒裙(4)','','',..,..]
var arr3=[];
for(var i=0;i<arr2.length;i++){
arr3.push(arr2[i].name+'('+arr2[i].count+')');
}
document.write(arr3.join(' '));//将数组转为字符串
/*-----------数据整理已经完成-----------*/
</script>