效果图

var arr = [
{
"BDCDYH": "525",
"FDZL": "",
"LJZH": "21844469",
"SHBW": "701房",
"SJCS": "1"
},
{
"BDCDYH": "3663",
"FDZL": "",
"LJZH": "21844469",
"SHBW": "301房",
"SJCS": "1"
},
{
"BDCDYH": "5242452",
"FDZL": "",
"LJZH": "21844469",
"SHBW": "201房",
"SJCS": "2"
},
{
"BDCDYH": "3654",
"FDZL": "",
"LJZH": "21844499",
"SHBW": "702房",
"SJCS": "1"
},
{
"BDCDYH": "63542778775272",
"FDZL": "",
"LJZH": "2184448",
"SHBW": "202房",
"SJCS": "2"
},
{
"BDCDYH": "63542778775272",
"FDZL": "",
"LJZH": "2184449",
"SHBW": "202房",
"SJCS": "2"
},
{
"BDCDYH": "35636421024535425",
"FDZL": "",
"LJZH": "21844469",
"SHBW": "501房",
"SJCS": "5"
}
]
//按属性名筛选
function sort(array, hashname, hash) {
return array.filter(function (value, index) {
if (value[hashname] == hash) {
return value
}
})
}
// 分组
function Trans(data) {
//提取SJCS,LJZH索引
var hash_SJCS = [];
var hash_LJZH = [];
for (var i = 0; i < data.length; i++) {
hash_SJCS.push(data[i].SJCS);
hash_LJZH.push(data[i].LJZH);
}
hash_SJCS = Array.from(new Set(hash_SJCS));
hash_LJZH = Array.from(new Set(hash_LJZH));
var result = []
if (hash_SJCS.length != 0 && hash_LJZH.length != 0) {
for (var i = 0; i < hash_SJCS.length; i++) {
var dict = {}
var SJCS_data = []
var Arr2=sort(data, 'SJCS', hash_SJCS[i])
for (var j = 0; j < hash_LJZH.length; j++) {
var dict1 = {}
var LJZH_data = sort(Arr2, 'LJZH', hash_LJZH[j])
dict1['LJZH'] = hash_LJZH[j]
dict1['data'] = LJZH_data
if(dict1['data'].length!=0){
SJCS_data.push(dict1)
}
}
dict['SJCS'] = hash_SJCS[i]
dict['data'] = SJCS_data
result.push(dict)
}
}
return result
}
console.log(arr)
console.log(Trans(arr))