我已经创建了如下的数组,
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])
答案 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();