需要使用LINQ JS

时间:2015-09-01 03:58:54

标签: javascript jquery linq.js

我已经创建了如下的数组,

arr =[ {uName:"2015", 1:100,2:10,3:0},{uName:"2011",1:10,2:2,3:19},{uName:"2015",1:10,2:0,3:20}],

在此,我需要选择arr[0][1]arr[2][1] uName is "2015"

Linq查询是,

$.Enumerable.From(arr).Where(function(n){n.uName =="2015"}).Select(function(y){return y.1}).Sum()

预期答案是:

arr[0][1] = 100, arr[2][1] = 10 (or) sum of these value 110 (arr[0][1] + arr[2][1])

1 个答案:

答案 0 :(得分:1)

您需要重新构建数组,因为这不是有效的javascript对象。您不能将对象结构与数组结构混合。

var arr =[ {uName:"2015", num1: 100,num2: 10, num3: 0},
           {uName:"2011", num1: 10, num2: 2, num3: 19},
           {uName:"2015",num1: 10, num2: 0, num3: 20}];

var expected = $.Enumerable.From(arr).Where(
               function(x){return x.uName =="2015"}).Select(
               function(a){ return a.num1}).Sum();

这是小提琴:http://jsfiddle.net/99eu7/37/