2015-04-05 19 views
-3

我有一個像如何從一個數組

var array = 

[ 
    {"name":"Joe", "age":17}, 
    {"name":"Carl", "age": 35}, 
    {"name":"Joe", "age":17}, 
    {"name":"Carl", "age":35}, 
    {"name":"Mark", "age":21}, 
] 

數組對象請告訴我來從這個數組中的唯一對象沒有做環圈,在這種情況下,輸出的最佳方式必須

找到唯一對象
[ 
    {"name":"Joe", "age":17}, 
    {"name":"Carl", "age": 35}, 
    {"name":"Mark", "age":21} 
] 
+2

「沒有做環圈」。沒有辦法, – undefined 2015-04-05 14:02:25

+1

你可以用高階函數而不是顯式循環來表達它,但循環會發生。 – Touffy 2015-04-05 14:04:56

+1

你用underscore.js標記了問題,所以你真的看着他們的文檔或谷歌你的答案? – 2015-04-05 14:07:29

回答

2

嘗試lodash庫和uniq方法:這也可以與下劃線一起使用。

https://lodash.com/docs#uniq

_.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); 
// → [{ 'x': 1 }, { 'x': 2 }] 
1

使用開源項目jinqJs它非常容易。

var array = 
 
[ 
 
    {"name":"Joe", "age":17}, 
 
    {"name":"Carl", "age": 35}, 
 
    {"name":"Joe", "age":17}, 
 
    {"name":"Carl", "age":35}, 
 
    {"name":"Mark", "age":21}, 
 
]; 
 
    
 

 
    var result = jinqJs().from(array).distinct('name', 'age').select(); 
 
    document.body.innerHTML += '<pre>' + JSON.stringify(result, null, 2) + '</pre><br><br>';
<script src="https://rawgit.com/fordth/jinqJs/master/jinqjs.js"></script>