一、在json里通过某个字段,把相同字段的放到一起
var jsonArr=[
{id:0 ,citys:'1', value:["圣晖花园A区", "圣晖花园A区(圣晖花园)", "340792"]},
{id:1 ,citys:'2', value:["玉泉新城国防大学北院", "玉泉新城国防大学北院(玉泉新城国防大学A区)", "293246"]},
{id:2 ,citys:'1', value:["碧桂园小区A区", "碧桂园小区A区(长阳碧桂园)", "338815"]},
{id:3 ,citys:'3', value:["碧桂园", "(长阳碧桂园)", "338815"]}
]
function test(jsonArr) {
var newItem= {}
var newArr = []
jsonArr.forEach(item => {
if (typeof newItem[item.citys] === 'number') { //通过citys值分类
newArr[newItem[item.citys]].push(item)
} else {
newItem[item.citys] = newArr.length
newArr.push([item])
}
})
console.log('newArr-----------',newArr)
return newArr
}
console.log('jsonArr-----------',jsonArr)
console.log('返回新的-----------',test(jsonArr))
运行结果
二、从json里查找相同字段的数据,比如从jsons 里把time=2015的都取出来
var jsons=[{
"id":5,
"time":2015,
"name":"aa"
},{
"id":4,
"time":2018,
"name":"bb"
},{
"id":3,
"time":2017,
"name":"cc"
},{
"id":2,
"time":2015,
"name":"dd"
},{
"id":1,
"time":2015,
"name":"ff"
}];
var resultJson=jsons.filter(item=>item.time===2015) //直接从json里找到字段time=2015
console.log('返回-----',resultJson)
运行结果