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

How to loop over and put JSON objects in an array in javascript?

本文关键字:对象 JSON 数组 javascript 循环      更新时间:2023-09-26

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

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

所以基本上我只取对象的idstartend元素,并将它们作为JSON在数组中进行回显。考虑到var请求是包含所有数据的对象,我如何能够在javascript foreach循环中做到这一点?

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

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

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 }
});

一点ES6。因为ES6非常漂亮。

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