Javascript中的Linq风格select语句

Javascript中的Linq风格select语句,javascript,linq,Javascript,Linq,在林克我可以写 var ids = entities.Select(e=>e.ID); 可以用Javascript在一行中编写同样清晰的代码吗 请不要打圈 谢谢 Maxim使用,是的 事实上,C最近在LINQ中采用的匿名函数(又名lambda expressions)的使用是大多数情况下JavaScript使用方式的核心 下划线中也有一个特殊情况: var ids = _.pluck(entities, "ID"); 用,对 事实上,C最近在LINQ中采用的匿名函数(又名lambda

在林克我可以写

var ids = entities.Select(e=>e.ID);
可以用Javascript在一行中编写同样清晰的代码吗

请不要打圈

谢谢

Maxim使用,是的

事实上,C最近在LINQ中采用的匿名函数(又名lambda expressions)的使用是大多数情况下JavaScript使用方式的核心

下划线中也有一个特殊情况:

var ids = _.pluck(entities, "ID");
用,对

事实上,C最近在LINQ中采用的匿名函数(又名lambda expressions)的使用是大多数情况下JavaScript使用方式的核心

下划线中也有一个特殊情况:

var ids = _.pluck(entities, "ID");

您可以将此方法定义为:

Array.prototype.select=function(selector) {
  var result = [];
  for(var i=0;i<this.length;i++) result.push(selector(this[i]));
  return result;
}
JavaScript 1.7现在支持生成器,因此,yield关键字,因此您可以像生成器一样编写select方法,使其尽可能接近.NET版本

Array.prototype.select=function(selector) {
  for(var i=0;i<this.length;i++) yield selector(this[i]);
}

您可以将此方法定义为:

Array.prototype.select=function(selector) {
  var result = [];
  for(var i=0;i<this.length;i++) result.push(selector(this[i]));
  return result;
}
JavaScript 1.7现在支持生成器,因此,yield关键字,因此您可以像生成器一样编写select方法,使其尽可能接近.NET版本

Array.prototype.select=function(selector) {
  for(var i=0;i<this.length;i++) yield selector(this[i]);
}

如果您使用的是VS开发工具,则可以使用VS开发工具,也可以从示例中简单地获取.js文件

安装后,您可以执行以下操作

var myList = [
            {id:1,FirstName:"Chris",LastName:"Pearson"},
            {id:2,FirstName:"Kate",LastName:"Johnson"},
            {id:3,FirstName:"Josh",LastName:"Pearson"},
            {id:4,FirstName:"John",LastName:"Pearson"},
            {id:5,FirstName:"Steve",LastName:"Pearson"}
            ];

var ids = JSLINQ(myList)
            .Where(function(item){ return item.LastName.match(/Pear.*/))})
            .Select(function(item){return item.id;});

如果您使用的是VS开发工具,则可以使用VS开发工具,也可以从示例中简单地获取.js文件

安装后,您可以执行以下操作

var myList = [
            {id:1,FirstName:"Chris",LastName:"Pearson"},
            {id:2,FirstName:"Kate",LastName:"Johnson"},
            {id:3,FirstName:"Josh",LastName:"Pearson"},
            {id:4,FirstName:"John",LastName:"Pearson"},
            {id:5,FirstName:"Steve",LastName:"Pearson"}
            ];

var ids = JSLINQ(myList)
            .Where(function(item){ return item.LastName.match(/Pear.*/))})
            .Select(function(item){return item.id;});