检查 JSON 数组中的元素并返回与该元素关联的完整数组



我有一个 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");

最新更新