Javascript Don';t从数组中输出相同的项
我用的是react js。我尝试用对象映射数组,并从数组中输出每个对象的名称:Javascript Don';t从数组中输出相同的项,javascript,reactjs,Javascript,Reactjs,我用的是react js。我尝试用对象映射数组,并从数组中输出每个对象的名称: const arr=[ { 姓名:“比尔”, 年龄:88 }, { 姓名:“比尔”, 年龄:18 }, { 姓名:“杰克”, 年龄:55 }, ] {arr.map(i=>( {i.name} ))}在映射和渲染之前,需要创建一组名称。你可以像下面这样做 {[...new Set(arr.map(i => i.name))].map(i => ( <li key={i.id
const arr=[
{
姓名:“比尔”,
年龄:88
},
{
姓名:“比尔”,
年龄:18
},
{
姓名:“杰克”,
年龄:55
},
]
{arr.map(i=>(
{i.name}
))}
在映射和渲染之前,需要创建一组名称。你可以像下面这样做
{[...new Set(arr.map(i => i.name))].map(i => (
<li key={i.id}>
{i.name}
</li>
))}
{[…新集合(arr.map(i=>i.name))].map(i=>(
{i.name}
))}
您可以使用来解决此问题。下面的代码片段将很容易完成您需要的工作
_.uniqBy(arr,"name").map(i => (
<li key={i.id}>
{i.name}
</li>
\ uqby(arr,“name”).map(i=>(
{i.name}
))}您可以根据每个对象中的
name
属性从arr
中删除重复项,然后对其使用数组map()
方法,如:
{[...new Map(arr.map(i=> [i.name, i])).values()].map(i => (
<li key={i.id}>
{i.name}
</li>
))}
{[…新映射(arr.Map(i=>[i.name,i])).values()].Map(i=>(
{i.name}
))}
演示:
const arr=[{name:“Bill”,年龄:88},{name:“Bill”,年龄:18},{name:“Jack”,年龄:55}];
类应用程序扩展了React.Component{
render(){
返回(
{[…新映射(arr.Map(i=>[i.name,i])).values()].Map(i=>(
{i.name}
))}
);
}
}
ReactDOM.render(,document.getElementById(“app”)代码>
您必须过滤掉值。这可以通过多种方式实现。一种方法是拥有一个对象,只按那些不存在的键。