2

我创建了如下数组,

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]where 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])
4

1 回答 1

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/

于 2015-09-01T05:35:58.553 回答