如何在javascript中循环并将JSON对象放入数组中?

时间:2016-05-12 17:30:11

标签: javascript arrays json

我正在用javascript开发一个应用程序。这是我的PHP代码:

events: [
foreach($requests as $request)
                {
                    if($request->accepted == 'yes') {
                echo 
                "{
                        id: ". $request->id . ",
                        start:'". $request->start . "',
                        end: '". $request->end . "',
                    },";
                    }
]

所以基本上我只接受对象的idstartend元素,并在数组中将它们作为JSON回显。考虑到var requests是包含所有数据的对象,我怎么能在javascript foreach循环中做同样的事情?

请注意除了pricestatusid之外,请求中还有其他数据,例如startend,但我只想使用idstartend包含在我的events[]数组中。

2 个答案:

答案 0 :(得分:3)

试试这个(假设请求是对象数组)

var events = requests.map(function(obj){
 return { id : obj.id, start : obj.start, end : obj.end }
})
  

你可以建议我做什么,但我只需要展示   请求id> 50?我如何在这里使用if语句?

var events = requests.filter(function(){
  if (index >= 50 ) return false;
}).map(function(obj, index){
  return { id : obj.id, start : obj.start, end : obj.end }
});

答案 1 :(得分:0)

一点ES6。因为ES6很华丽。

requests
  .filter(x => x.id > 50)
  .map(({id, start, end}) => ({id, start, end}))