2

我需要使用Linq.js从Json数据的三个字段中选择两个字段

所需的输出应该是

[{ "A": -27, C: "country 1" } , { "A": 28 , C: "country 2"} ] 

从以下路径使用“linq.js”:[ https://raw.github.com/gist/1175460/fb7404d46cab20e31601740ab8b35d99a584f941/linq.js ]

样本数据

var Data = [{ "A": -27, "B": -39, C: "country 1" }, { "A": 28, "B": 0 , C: "country 2"}]

var filter = "  x =>    x['A'], x['C']  ";
var findItem = Enumerable.From(Data)
.Select(filter)
.ToArray();

console.log(findItem);

JsFiddle 的代码:http: //jsfiddle.net/gLXNw/9/

4

2 回答 2

7

您的“lambda”函数必须返回一个有效的 java 对象。

您的查询应该更像这样:

var query = Enumerable.From(data)
    .Select("x => { A: x['A'], X: x['C'] }") // object initializer
    .ToArray();
于 2013-02-28T08:20:43.040 回答
7

您可以在结果选择器中使用函数而不是 lambda(如果不是出于政治原因使用 lambda 表达式:))

var findItem = Enumerable.From(Data)
.Select(function(x){
    return {
        'A': x['A'], 
        'X': x['C']
    };
}).ToArray();
于 2013-02-28T08:34:29.590 回答