Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript linq.js意外结果_Javascript_Json_Linq.js - Fatal编程技术网

Javascript linq.js意外结果

Javascript linq.js意外结果,javascript,json,linq.js,Javascript,Json,Linq.js,好的,我得到了这个JSON对象,叫做“Faults” 调试器中显示的故障对象: 现在我需要使用他RoomId来检查房间是否有故障。 我使用的代码是: Enumerable.From(audit.Rooms).ForEach(function(room, index) {//√ var containsFaults = ''; //room.Id is ALWAYS filled, it can't be null var test1 = f

好的,我得到了这个JSON对象,叫做“Faults”

调试器中显示的故障对象:

现在我需要使用他
RoomId
来检查房间是否有故障。 我使用的代码是:

    Enumerable.From(audit.Rooms).ForEach(function(room, index) {//√
    var containsFaults = '';

    //room.Id is ALWAYS filled, it can't be null
    var test1 = faults.Select("$.RoomId==" + room.Id).Count();
    var test2 = faults.Select("$.RoomId==" + room.Id);

    if (faults.Select("$.RoomId==" + room.Id).Count() > 0) {
        containsFaults = '√';
    }
但是当我执行这段代码时,我得到了以下结果

为什么它不使用匹配的
RoomId
从我的对象返回错误?我肯定身份证是匹配的。我做错了什么,我真的被这件事困住了


提前谢谢

来回答这个问题

为什么它不直接返回我的对象和匹配的室友的错误?我肯定身份证是匹配的。我做错了什么,我真的被这件事困住了

您需要添加
.ToArray()
以呈现结果

var test2 = faults.Select("$.RoomId==" + room.Id).ToArray();
//                                               ^^^^^^^^^^
var audit={Faults:[{RoomId:42,ElementId:4711,FaultTypeId:0,Count:0,备注:“无故障”},{RoomId:1,ElementId:173,FaultTypeId:1,Count:1,Count:1,备注:},{RoomId:3,ElementId:211,FaultTypeId:7,Count:1,备注:},{RoomId:4,ElementId:173,FaultTypeId:1,Count:1,备注:},
roomId=4,
数据集=可枚举的.From(audit.Faults),
test1=dataset.Where(“$.Count>0&&$.RoomId==”+RoomId.Count();
test2=dataset.Where(“$.Count>0&&$.RoomId==”+RoomId.ToArray();
log(test1);
log(test2)

结果应该是什么样的?只有一组
RoomId
?我只想要每个房间的故障数量,如果我不清楚这个详细的答案,很抱歉!但我只想知道当前房间是否有故障。
var test2 = faults.Select("$.RoomId==" + room.Id).ToArray();
//                                               ^^^^^^^^^^