js操作数组分类(1)
1、根据数组json字符串排序:
需求:要求相同名称的放在同一列表下。
JS:
var aa = [
{
id: 1,
imei: "",
store_name: "合肥店"
},
{
id: 3,
imei: "3",
store_name: "合肥店"
},
{
id: 2,
imei: "1",
store_name: "芜湖店"
},
{
id: 4,
imei: "34343",
store_name: "上海店"
}
];
分类法一:
var list = aa,
flag = 0,
data = [];
for(var i = 0; i< list.length; i++) {
var az = "";
for (var j = 0; j < data.length; j++) {
if(data[j][0].store_name == list[i].store_name) {
flag = 1;
az = j;
break;
}
}
if(flag == 1){
data[az].push(list[i]);
flag = 0;
} else if (flag == 0) {
wdy = new Array();
wdy.push(list[i]);
data.push(wdy);
}
}
console.log(data);
结果如下:
分类法二:
for(var i = 0; i < list.length; i++) {
if(!data[list[i].store_name]) {
var arr = [];
arr.push(list[i]);
data[list[i].store_name] = arr;
}else {
data[list[i].store_name].push(list[i])
}
}
console.log(data);
结果如下:
分类法三:
var moth = [],
flag = 0,
list = aa;
var wdy = {
title: "",
sur_name: ""
}
for (var i = 0; i < list.length; i++) {
var az = "";
for (var j = 0; j < moth.length; j++) {
if (moth[j].title == list[i]["store_name"]) {
flag = 1;
az = j;
break;
}
}
if (flag == 1) {
var ab = moth[az];
ab.sur_name.push(list[i]);
flag = 0;
} else if (flag == 0) {
wdy = {};
wdy.title = list[i]["store_name"];
wdy.sur_name = new Array();
wdy.sur_name.push(list[i]);
moth.push(wdy);
}
}
console.log(moth);
结果如下:
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: vue中修改了数据但视图无法更新的情况
- 下一篇:没有了