linq.js返回值(默认值)FirstOrDefault

RJB*_*RJB 4 javascript linq.js

试图检查linq.js FirstOrDefault()的结果,但检查null或undefined不起作用.在调试它时遇到一些麻烦,但我可以看到它正在返回某种对象.

我找不到任何关于此在线方法的文档.

我试过了:

var value = Enumerable.From(stuff).FirstOrDefault('x => x.Name == "Doesnt exist"')

if (value) {
    alert("Should be not found, but still fires");
}

if (value != null)
    alert("Should be not found, but still fires");
}
Run Code Online (Sandbox Code Playgroud)

Jef*_*ado 9

FirstOrDefault()功能的签名是:

// Overload:function(defaultValue)
// Overload:function(defaultValue,predicate)
Run Code Online (Sandbox Code Playgroud)

如果集合为空,则第一个参数始终是要返回的默认值.第二个参数是要搜索的谓词.您使用该方法是错误的,您的查询应写为:

var value = Enumerable.From(stuff)
    .FirstOrDefault(null, "$.Name === 'Doesnt exist'");
Run Code Online (Sandbox Code Playgroud)