【发布时间】:2019-12-23 17:33:21
【问题描述】:
我需要遍历一个对象数组,其中每个对象都有一个 email 属性。我的目标是遍历数据 (CSV),如果任何记录具有相同的电子邮件,我需要删除除最后一个之外的所有记录,因为这将是我最终需要更新的值。我似乎无法做到这一点。
我曾尝试使用 .find,但从未完全成功。我觉得我需要添加它,但我不知道是什么。
let arr = [
{name: 'stefano', email: 'stef@mail.com'},
{name: 'steve', email: 'cuck@mail.com'},
{name: 'weave', email: 'stef@mail.com'},
{name: 'peave', email: 'luck@mail.com'}
];
let keepLast = arr.find( (obj,idx) => {
let found = 0;
if(obj.email === 'stef@mail.com') {
++found;
}
if(found > 1) {
// Somehow remove the previous iteration catch on match
}
});
这是关于我的位置。我觉得我需要以某种方式记住最后一个索引,以便我知道一旦找到另一个索引就将其删除。
【问题讨论】:
-
@HereticMonkey 感谢您的发现。我现在会通读它,如果是这样的话,我会删除它。我找了一会儿,但很难找到一个专门只保留最后一个副本的。
标签: javascript arrays object duplicates