Javascript计数对象';有点符号的s键
正在尝试计算javascript对象中的数组。此响应来自laravel验证器Javascript计数对象';有点符号的s键,javascript,jquery,arrays,object,laravel-5.5,Javascript,Jquery,Arrays,Object,Laravel 5.5,正在尝试计算javascript对象中的数组。此响应来自laravel验证器 { "message":"The given data was invalid.", "errors":{ "roomtype_id":[ "Please select a room type" ], "price":[ "Price cannot be empty" ], "amenitie
{
"message":"The given data was invalid.",
"errors":{
"roomtype_id":[
"Please select a room type"
],
"price":[
"Price cannot be empty"
],
"amenities":[
"Atleast select one amenities"
],
"floor.0":[
"Please select a floor"
],
"floor.1":[
"Please select a floor"
],
"floor.2":[
"Please select a floor"
],
"floor.3":[
"Please select a floor"
],
"floor.4":[
"Please select a floor"
],
"room_number.0":[
"Room number cannot be empty"
],
"room_number.1":[
"Room number cannot be empty"
],
"room_number.2":[
"Room number cannot be empty"
],
"room_number.3":[
"Room number cannot be empty"
],
"room_number.4":[
"Room number cannot be empty"
],
"room_number.5":[
"Room number cannot be empty"
],
"room_number.6":[
"Room number cannot be empty"
],
"room_number.7":[
"Room number cannot be empty"
],
"room_number.8":[
"Room number cannot be empty"
],
"room_number.9":[
"Room number cannot be empty"
],
"room_number.10":[
"Room number cannot be empty"
],
"room_number.11":[
"Room number cannot be empty"
],
"room_number.12":[
"Room number cannot be empty"
],
"room_number.13":[
"Room number cannot be empty"
],
"room_number.14":[
"Room number cannot be empty"
],
"room_number.15":[
"Room number cannot be empty"
],
"room_number.16":[
"Room number cannot be empty"
],
"room_number.17":[
"Room number cannot be empty"
],
"room_number.18":[
"Room number cannot be empty"
],
"room_number.19":[
"Room number cannot be empty"
],
"room_number.20":[
"Room number cannot be empty"
],
"room_number.21":[
"Room number cannot be empty"
],
"room_number.22":[
"Room number cannot be empty"
],
"room_number.23":[
"Room number cannot be empty"
],
"room_number.24":[
"Room number cannot be empty"
],
"room_number.25":[
"Room number cannot be empty"
],
"room_number.26":[
"Room number cannot be empty"
],
"room_number.27":[
"Room number cannot be empty"
],
"room_number.28":[
"Room number cannot be empty"
]
}
}
在上面的js对象中,错误对象包含“floor.0”:[“请选择一个楼层],“floor.1”:[“请选择一个楼层],“floor.2”:[“请选择一个楼层”]
等等
我想数一数有多少floor.
阵列存在
注:
我正在访问如下所示的单个值
$("#floor_error_1").text(data.responseJSON.errors["floor.0"]);
$("#floor_error_2").text(data.responseJSON.errors["floor.1"]);
如何计算?然后循环并打印错误?您可以使用来获取数组中错误的键。然后filter
仅对项目“floor”进行筛选并获取其长度
您还可以使用regex代替startsWith
Object.keys(data.errors).filter(x => x.startsWith('floor')).length
要打印错误,您可以尝试:
let errorKeys = Object.keys(data.errors).filter(x => x.startsWith('floor'));
let count = errorKeys.length;
let floorErrors = errorKeys.map(key => ({
key: key,
errors: data.errors[key]
}));
let数据={
“消息”:“给定的数据无效。”,
“错误”:{
“roomtype_id”:[
“请选择房间类型”
],
“价格”:[
“价格不能为空”
],
“便利设施”:[
“至少选择一个设施”
],
“0楼”:[
“请选择一个楼层”
],
“第1层”:[
“请选择一个楼层”
],
“第2层”:[
“请选择一个楼层”
],
“第3层”:[
“请选择一个楼层”
],
“第4层”:[
“请选择一个楼层”
],
“房间号0”:[
“房间号不能为空”
],
“1号房间”:[
“房间号不能为空”
],
“2号房间”:[
“房间号不能为空”
],
“3号房间”:[
“房间号不能为空”
],
“4号房间”:[
“房间号不能为空”
],
“5号房间”:[
“房间号不能为空”
],
“6号房间”:[
“房间号不能为空”
],
“7号房间”:[
“房间号不能为空”
],
“8号房间”:[
“房间号不能为空”
],
“9号房间”:[
“房间号不能为空”
],
“10号房间”:[
“房间号不能为空”
],
“11号房间”:[
“房间号不能为空”
],
“12号房间”:[
“房间号不能为空”
],
“13号房间”:[
“房间号不能为空”
],
“14号房间”:[
“房间号不能为空”
],
“15号房间”:[
“房间号不能为空”
],
“16号房间”:[
“房间号不能为空”
],
“17号房间”:[
“房间号不能为空”
],
“18号房间”:[
“房间号不能为空”
],
“19号房间”:[
“房间号不能为空”
],
“20号房间”:[
“房间号不能为空”
],
“21号房间”:[
“房间号不能为空”
],
“22号房间”:[
“房间号不能为空”
],
“23号房间”:[
“房间号不能为空”
],
“24号房间”:[
“房间号不能为空”
],
“25号房间”:[
“房间号不能为空”
],
“26号房间”:[
“房间号不能为空”
],
“27号房间”:[
“房间号不能为空”
],
“28号房间”:[
“房间号不能为空”
]
}
}
让errorKeys=Object.keys(data.errors).filter(x=>x.startsWith('floor'));
让计数=errorKeys.length;
让floorErrors=errorKeys.map(key=>({
钥匙:钥匙,
错误:数据。错误[键]
}));
控制台日志(错误键、计数、楼层错误)
console.log()
var data={};
data.responseJSON='{“消息”:“给定的数据无效”,“错误”:“{”roomtype_id:“[请选择房间类型],“价格”:[“价格不能为空”],“便利设施”:[“至少选择一个便利设施”],“floor.0:[“请选择一层”],“floor.1:[“请选择一层”],“floor.2:[“请选择一层”],“floor.3:[“请选择一层”],“floor.4”:[“请选择楼层”],“房间号.0”:[“房间号不能为空”],“房间号.1”:[“房间号不能为空”],“房间号.2”:[“房间号不能为空”],“房间号.3”:[“房间号不能为空”],“房间号.4”:[“房间号不能为空”],“房间号.5”:[“房间号不能为空”],“房间号.6”:[“房间号不能为空”],“房间号.7:[“房间号不能为空”],“房间号.8:[“房间号不能为空”],“房间号.9:[“房间号不能为空”],“房间号.10:[“房间号不能为空”],“房间号.11:[“房间号不能为空”],“房间号.12:[“房间号不能为空”],“房间号.13:”房间号不能为空“],“房间号.14:[“房间号不能为空”],“房间号.15:[“房间号不能为空”],“房间号.16:[“房间号不能为空”],“房间号.17:[“房间号不能为空”],“房间号.18:[“房间号不能为空”],“房间号.19:[“房间号不能为空”],“房间号.20:”房间号不能为空“],“房间号.21:[“房间号不能为空”],“房间号.22:[“房间号不能为空”],“房间号.23:[“房间号不能为空”],“房间号.24:[“房间号不能为空”],“房间号.25:[“房间号不能为空”],“房间号.26:[“房间号不能为空”],“房间号.27:”房间号不能为空“],“房间号.28”:[“房间号不能为空”]}};
data.responseJSON=JSON.parse(data.responseJSON);
//开始在这里循环
var计数器=0;
for(变量输入data.responseJSON.errors){
//检查kkey上是否有“地板”
如果(键索引(“地板”)!=-1){
//该键具有文本层。
计数器++;
console.log(data.responseJSON.errors[key][0]);
}
}
console.log(“总错误为”+计数器);
只是删除data.responseJSON=JSON.parse(data.responseJSON);
这行代码都工作正常。谢谢是的,这段代码只是用来解析