【发布时间】:2015-01-22 00:23:36
【问题描述】:
我正在尝试做一个简洁的小函数来过滤对象数组,以便只返回具有特定属性的唯一值的对象。当prop 只是一个普通属性(例如"email")时,此函数可以正常工作。但是当将嵌套属性作为参数时,该函数不起作用,例如"customer.email"
var unique = function (arr, prop) {
var found = [];
return arr.filter(function (obj) {
if (found.indexOf(obj[prop]) < 0) return found.push(obj[prop]);
});
};
reminders = unique(reminders, 'customer.email');
有没有一种优雅的方法可以将嵌套属性作为参数,还是应该避免这种情况?
【问题讨论】:
-
@apsillers 我想说这不是完全重复,但其中的信息应该足以让 OP 更改他的
unique函数 -
我找到了我需要的东西。谢谢!
标签: javascript