随着“Web 2.0”应用的普及,客户端对数据的排序、查询和管理能力变得越来越重要。jLinq结合了JSON数据,为JavaScript提供了一种LINQ风格的查询语言。如果还没有尝试过,可以在线体验其功能。本文将介绍jLinq 2.2.0版本的一些新特性。
假设运行了以下命令:
jLinq.from(users).less("firstname", 5).select();
这看起来很简单,似乎是查询名字长度小于5个字符的用户。但实际上,旧版本的jLinq对命令的参数类型有特定要求。例如,使用less、lessEquals、greater、greaterEquals、between或betweenEquals等命令时,预期参数和查询字段都是数字类型。
在新版本中,jLinq变得更加智能,它会检查类型并返回所需的值以使查询工作。例如,如果使用less命令与字符串值一起使用,它会自动使用length属性而不是字符串值本身。
jLinq还对不同类型的命令更加智能。例如,以前contains命令只适用于字符串值,现在它适用于数组,或者将值转换为字符串然后进行检查。
以下是jLinq 2.2.0版本新增的11个命令:
在Opera浏览器中,尝试排序记录时存在一个错误。不确定为什么,但基本上,Opera中的for循环确实存在差异。