MOST RECENT
var tst = [
{"topicId":1,"subTopicId":1,"topicName":"a","subTopicName1":"w"},
{"topicId":2,"subTopicId":2,"topicName":"b","subTopicName2":"x"},
{"topicId":3,"subTopicId":3,"topicName":"c","subTopicName3":"y"},
{"topicId":1,"subTopicId":4,"topicName":"c","subTopicName4":"z"}
];
var result = _.map(_.uniqBy(tst, 'topicId'), function (item) {
return {
id: item.topicId,
name: item.topicName
};
});
console.log(result);
LEGACY
http://lodash.com/docs#uniq is a good start
_.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
Your code would look like this to get topics unique by id
var t = _.uniq(tst, 'topicId');
EDIT
I made a jsfiddle
UPDATE
Removed unnecessary uniqueness of names