{
"module_list": [
{
"content": {
"module-type": "list-1",
"module": "list",
"type": "1",
"name": "职位列表 ",
"logo1": "imgurl1",
"title1": "baidu1",
"desc1": "hahahha1",
"url1": "www.baidu.com1",
"logo2": "imgurl2",
"title2": "baidu2",
"desc2": "hahahha2",
"url2": "www.baidu.com2",
"logo3": "imgurl3",
"title3": "baidu3",
"desc3": "hahahha3",
"url3": "www.baidu.com3",
"logo4": "",
"title4": "",
"desc4": "",
"url4": "",
"jobs": [
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:1"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:2"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:3"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:4"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:1"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:1"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:4"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:4"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:3"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:2"
},
{
"name": "产品经理",
"salary": "10k-15k",
"url": "www.baidu.com",
"desc": "广州",
"mark": "group:2"
}
]
},
}
]
}
json存储了一些职位信息,怎么根据mark的值,对这些信息进行分组 ,例如mark值为group:1的放到一个分组里,,mark值为group:2的放到一个分组里,然后在前端显示在不同模块里。该怎么对数据进行遍历?遍历之后怎么根据不同的mark值放到不同的数组里呢
public static function buildList($module){
$jobList2 = "";
if($module['jobs']){
foreach($module['jobs'] as $job){
$jobList2 .= <<<html
<li>
<a class="post post2">{$job['name']}</a>
<span class="salary">{$job['salary']}</span>
</li>
html;
}
}
return <<<html
<div class="module list">
<div class="content">
<ul class="cmpList">
<li class="cmpList-li">
<img src="" alt=""/>
<h1>{$module['title1']}</h1>
<p>{$module['desc1']}</p>
<ul class="jobList2">
{$jobList2}
</ul>
<p class="more">更多职位</p>
</li>
<li class="cmpList-li">
<img src="" alt=""/>
<h1>{$module['title2']}</h1>
<p>{$module['desc2']}</p>
<ul class="jobList2">
{$jobList2}
</ul>
<p class="more">更多职位</p>
</li>
<li class="cmpList-li">
<img src="" alt=""/>
<h1>{$module['title3']}</h1>
<p>{$module['desc3']}</p>
<ul class="jobList2">
{$jobList2}
</ul>
<p class="more">更多职位</p>
</li>
<li class="cmpList-li">
<img src="" alt=""/>
<h1>{$module['title4']}</h1>
<p>{$module['desc4']}</p>
<ul class="jobList2">
{$jobList2}
</ul>
<p class="more">更多职位</p>
</li>
</ul>
</div>
</div>
html;
}
就是根据不同的group的值,让数据显示在相应的模块下面
var map = {};
for(var i=0,l=jobs.length;i<l;i++){
var key = jobs[i]['mark'];
map[key] = map[key] || (map[key] = []);
map[key].push(jobs[i]);
}
return map;
这样返回的map就是一个key,value
{
group1:[job1,job2],
group2:[job3,job4]
}
应该就是你想要的