【发布时间】:2016-03-24 05:21:18
【问题描述】:
我有一个这样的对象数组:
arr = [
{name: 'Igor', ....},
{name: 'Anton', .... },
{name: 'Igor', .... },
{name: 'Peter', .... },
{name: 'Igor', .... }
]
我需要从 atrray 中获取所有名称,不能重复。我试着看起来像这样
var names = [];
arr.forEach((item) => {
if (!names.some(val => val === item)) {
names.push(item.name);
}
}
但是我得到了所有的名字,包括重复的名字
更新:我正在使用 React
如果我只推names.push(item.name); 来排列一切正常,我会得到数组[Igor, Anton, Peter]。但!如果我推送这样的项目:
chat.forEach((item) => {
if (names.indexOf(item.name) === -1)
names.push(<UserItem name={item.name} />);
});
我得到包含 5 个 li 元素的数组:Igor、Anton、Igor、Peter、Igor。 这不是重复的问题!
【问题讨论】:
标签: javascript arrays search reactjs duplicates