我有一个 json 数组,它总是根据用户输入递增,下面是 json 代码的示例:
[{"scheduleid":"randomid","datestart":"2020-06-30","dateend":"2020-06-30","timestart":"08:00","timeend":"20:00","recurrences":"dailysett","daily":""},
{"scheduleid":"randomid2","datestart":"2020-06-30","dateend":"2020-06-30","timestart":"08:00","timeend":"20:00","recurrences":"dailysett","daily":""}]
此数组保存在var Schedulearray
如果我想搜索特定的 ID,假设我想使用以下方法从数组中获取randomid
:
Schedulearray.scheduleid;
现在,如果结果是randomid
我想要获取元素的所有属性,即时间开始时间结束等 有没有可能,或者我必须像这样单独得到每个人:
var timestart=Schedulearray.timestart;
您可以使用find
函数:
let arr = [{"scheduleid":"randomid","datestart":"2020-06-30","dateend":"2020-06-30","timestart":"08:00","timeend":"20:00","recurrences":"dailysett","daily":""},
{"scheduleid":"randomid2","datestart":"2020-06-30","dateend":"2020-06-30","timestart":"08:00","timeend":"20:00","recurrences":"dailysett","daily":""}]
var elem = arr.find((e) => e.scheduleid === "randomid");
console.log(elem);
你可以使用过滤器
var data=[{"scheduleid":"randomid","datestart":"2020-06-30","dateend":"2020-06-30","timestart":"08:00","timeend":"20:00","recurrences":"dailysett","daily":""},
{"scheduleid":"randomid2","datestart":"2020-06-30","dateend":"2020-06-30","timestart":"08:00","timeend":"20:00","recurrences":"dailysett","daily":""}];
var filtered=data.filter(i=>i.scheduleid==="randomid");