2016-02-15 66 views
1

我有一個JavaScript對象是這樣的:查詢JavaScript對象組由

[{"a":1,"b":2},{"a":1,"b":3},{"a":2,"b":4},{"a":2,"b":5}] 

我希望將這個對象字段 'a' 和想是這樣的:

[{"a":1,"values":[{"a":1,"b":2},{"a":1,"b":3}]},{"a":2,"values":[{"a":2,"b":4},{"a":2,"b":5}]}] 

我有一個JavaScript超過幾千個元素的數組。什麼是最有效的方法來實現這一目標?

回答

1

試試這個代碼:

var data = [{"a":1,"b":2},{"a":1,"b":3},{"a":2,"b":4},{"a":2,"b":5}]; 

var res = alasql('SELECT a, ARRAY(_) AS [values] FROM ? GROUP BY a',[data]); 

這裏ARRAY(_)是一種特殊的聚合功能節省了當前記錄(_)與名values數組。

你可以玩這個例子in jsFiddle