试图获得一个唯一的对象列表
Trying to get a unique list of objects
我有一个对象集合
var array =
[
{"category":"A", "categoryname":"somename", key: 1, description: "something"},
{"category":"A", "categoryname":"somename", key: 1, description: "something"},
{"category":"B", "categoryname": "somename", key: 1, description: "something"}
{"category":"B", "categoryname": "somename", key: 3, description: "something"}
{"category":"C", "categoryname": "somename", key: 2, description: "something"}
{"category":"C", "categoryname": "somename", key: 2, description: "something"}
]
有 4 个值(类别、类别名称、键、描述),我需要遍历它并根据类别获取唯一的对象列表。但我想要 return 具有 2 个前置属性的唯一列表,而不仅仅是一个。如果我使用
_.uniq(_.pluck(array,"category"))
这给了我想要的东西,除了我需要类别名称和类别。这可能吗?
已经有几个关于同一用例的问题。
Plucking Multiple Properties
Removing duplicate objects with Underscore for Javascript
您可以使用 $.unique()
、Array.prototype.map()
、JSON.stringify()
、JSON.parse()
var array = [{
"category": "A",
"categoryname": "somename",
key: 1,
description: "something"
}, {
"category": "A",
"categoryname": "somename",
key: 1,
description: "something"
}, {
"category": "B",
"categoryname": "somename",
key: 1,
description: "something"
}, {
"category": "B",
"categoryname": "somename",
key: 3,
description: "something"
}, {
"category": "C",
"categoryname": "somename",
key: 2,
description: "something"
}, {
"category": "C",
"categoryname": "somename",
key: 2,
description: "something"
}];
var res = $.unique(array.map(function(el) {
return JSON.stringify([el.category, el.categoryname])
})).map(JSON.parse);
console.log(res);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我有一个对象集合
var array =
[
{"category":"A", "categoryname":"somename", key: 1, description: "something"},
{"category":"A", "categoryname":"somename", key: 1, description: "something"},
{"category":"B", "categoryname": "somename", key: 1, description: "something"}
{"category":"B", "categoryname": "somename", key: 3, description: "something"}
{"category":"C", "categoryname": "somename", key: 2, description: "something"}
{"category":"C", "categoryname": "somename", key: 2, description: "something"}
]
有 4 个值(类别、类别名称、键、描述),我需要遍历它并根据类别获取唯一的对象列表。但我想要 return 具有 2 个前置属性的唯一列表,而不仅仅是一个。如果我使用
_.uniq(_.pluck(array,"category"))
这给了我想要的东西,除了我需要类别名称和类别。这可能吗?
已经有几个关于同一用例的问题。
Plucking Multiple Properties
Removing duplicate objects with Underscore for Javascript
您可以使用 $.unique()
、Array.prototype.map()
、JSON.stringify()
、JSON.parse()
var array = [{
"category": "A",
"categoryname": "somename",
key: 1,
description: "something"
}, {
"category": "A",
"categoryname": "somename",
key: 1,
description: "something"
}, {
"category": "B",
"categoryname": "somename",
key: 1,
description: "something"
}, {
"category": "B",
"categoryname": "somename",
key: 3,
description: "something"
}, {
"category": "C",
"categoryname": "somename",
key: 2,
description: "something"
}, {
"category": "C",
"categoryname": "somename",
key: 2,
description: "something"
}];
var res = $.unique(array.map(function(el) {
return JSON.stringify([el.category, el.categoryname])
})).map(JSON.parse);
console.log(res);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>