Javascript 获取随机json对象
我想得到随机的hotelCode(例如CUNMXSAKU但随机)对象。 是否可以在javaScript或Jquery中随机使用此对象 我的JSON:Javascript 获取随机json对象,javascript,jquery,Javascript,Jquery,我想得到随机的hotelCode(例如CUNMXSAKU但随机)对象。 是否可以在javaScript或Jquery中随机使用此对象 我的JSON: var simulatedHotelCodes = { "CUNMXSAKU" : { "roomCodes" : "DEAL, JRST, JPOV, JSSW, PJRS, PJOV, PJSW, RMOV, RMOF, PRES" },
var simulatedHotelCodes = {
"CUNMXSAKU" : {
"roomCodes" : "DEAL, JRST, JPOV, JSSW, PJRS, PJOV, PJSW, RMOV, RMOF, PRES"
},
"CUNMXMAYA" : {
"roomCodes" : "ROAI, FVAI, DXAI, CAAI, SUAI, CABA, SIGA, PRAI, POFA, ROOM, FMVW, DELX, CASA, SUIT, CASI, SIGN, PROF, PROFS"
},
"CUNMXDPAV" : {
"roomCodes" : "GDVW, MRNA, FMLY, DFAM, HNDO, OCVW, DOLP, FMOV, PCDO, HNOC, PCOV, PFOV, ROHO"
},
"CUNMXHIDD" : {
"roomCodes" : "JRST, JRSU, DOME"
},
"CUNMXDSAN" : {
"roomCodes" : "DEAL, DELX, DEXBA, DXOF, DOFB, PROV, PROF, PROB, POFC, HONY, FAMI, PRJS, DEBL, PRDD"
}
};
输出:
"CUNMXMAYA" : {
"roomCodes" : "ROAI, FVAI, DXAI, CAAI, SUAI, CABA, SIGA, PRAI, POFA, ROOM, FMVW, DELX, CASA, SUIT, CASI, SIGN, PROF, PROFS"
}
或
随便
提前感谢是的,这是可能的。但若您将这些对象放入数组中,以便可以通过数组索引访问这些对象,那个么就更容易了。由于数组索引是一个整数,所以可以随机生成该数组索引,然后访问该对象 是的,这是可能的。但若您将这些对象放入数组中,以便可以通过数组索引访问这些对象,那个么就更容易了。由于数组索引是一个整数,所以可以随机生成该数组索引,然后访问该对象 我将使用获取所有属性的数组,然后选择一个随机索引
var模拟酒店代码={
“CUNMXSAKU”:{
“房间代码”:“交易、JRST、JPOV、JSSW、PJRS、PJOV、PJSW、RMOV、RMOF、PRES”
},
“玛雅人”:{
“房间代码”:“ROAI、FVAI、DXAI、CAAI、SUAI、CABA、SIGA、PRAI、POFA、房间、FMVW、DELX、CASA、套装、CASI、标志、教授、教授”
},
“CUNMXDPAV”:{
“房间代码”:“GDVW、MRNA、FMLY、DFAM、HNDO、OCVW、DOLP、FMOV、PCDO、HNOC、PCOV、PFOV、ROHO”
},
“cunmxidd”:{
“房间代码”:“JRST、JRSU、DOME”
},
“CUNMXDSAN”:{
“房间代码”:“DEAL、DELX、DEXBA、DXOF、DOFB、PROV、PROF、PROB、POFC、HONY、FAMI、PRJS、DEBL、PRDD”
}
};
var properties=Object.getOwnPropertyNames(模拟酒店代码);
var index=Math.floor(Math.random()*properties.length);
var输出={};
输出[属性[索引]]=模拟酒店代码[属性[索引]];
控制台日志(输出)代码>我将使用它获取所有属性的数组,然后选择一个随机索引
var模拟酒店代码={
“CUNMXSAKU”:{
“房间代码”:“交易、JRST、JPOV、JSSW、PJRS、PJOV、PJSW、RMOV、RMOF、PRES”
},
“玛雅人”:{
“房间代码”:“ROAI、FVAI、DXAI、CAAI、SUAI、CABA、SIGA、PRAI、POFA、房间、FMVW、DELX、CASA、套装、CASI、标志、教授、教授”
},
“CUNMXDPAV”:{
“房间代码”:“GDVW、MRNA、FMLY、DFAM、HNDO、OCVW、DOLP、FMOV、PCDO、HNOC、PCOV、PFOV、ROHO”
},
“cunmxidd”:{
“房间代码”:“JRST、JRSU、DOME”
},
“CUNMXDSAN”:{
“房间代码”:“DEAL、DELX、DEXBA、DXOF、DOFB、PROV、PROF、PROB、POFC、HONY、FAMI、PRJS、DEBL、PRDD”
}
};
var properties=Object.getOwnPropertyNames(模拟酒店代码);
var index=Math.floor(Math.random()*properties.length);
var输出={};
输出[属性[索引]]=模拟酒店代码[属性[索引]];
控制台日志(输出)代码>如果您只关心现代浏览器,请检查@dave的答案,该答案更清晰(而且可能有更好的性能)。如果您想要跨浏览器解决方案,这里有一个选项:
请注意,您需要使用随机选择的关键点来使用obj。您可以更改此选项:
obj = {};
obj[key] = json[key];
为此:
obj = json[key];
仅保存随机项值
如果你只关心现代浏览器,请查看@dave的答案,该答案更简洁(而且它的性能可能更好)。如果您想要跨浏览器解决方案,这里有一个选项:
请注意,您需要使用随机选择的关键点来使用obj。您可以更改此选项:
obj = {};
obj[key] = json[key];
为此:
obj = json[key];
仅保存随机项值
我不知道Object.getOwnPropertyNames()
它似乎非常有用。但是请记住,并非所有浏览器都支持它。我不知道Object.getOwnPropertyNames()
它似乎非常有用。但是请记住,并非所有浏览器都支持它。