Javascript 比较两个数组';如果id';男女平等
我在状态中有两个数组,它们都有id 如果某个数组具有相同的值(在本例中为8),我想禁用所有具有相同值的按钮 按钮已经存在,我只想禁用那些具有相同非唯一ID的按钮 我试着这样做,但我不明白Javascript 比较两个数组';如果id';男女平等,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我在状态中有两个数组,它们都有id 如果某个数组具有相同的值(在本例中为8),我想禁用所有具有相同值的按钮 按钮已经存在,我只想禁用那些具有相同非唯一ID的按钮 我试着这样做,但我不明白 var setOne = [2,6,8]; var setTwo = [3, 8, 4] const button = () => { var hasDuplicateValues = [...new Set(setOne)].filter(item => setTwo.includes(item
var setOne = [2,6,8];
var setTwo = [3, 8, 4]
const button = () => {
var hasDuplicateValues = [...new Set(setOne)].filter(item => setTwo.includes(item));
if(hasDuplicateValues.length > 0) {
<button disabled />
}
else {
<button />
}
}
这个解决方案是禁用所有按钮,但我只想禁用具有相同id的按钮
谢谢不太清楚该组件在应用程序层次结构中的位置,所以我尝试了一些猜测工作。从外表上看,你已经快到了。您只需要迭代按钮并创建它们
功能按钮(道具){
const{disabled,text}=props;
返回{text};
}
//按钮创建集合中的按钮
功能按钮(){
常数setOne=[2,6,8];
常数setTwo=[3,8,4];
//从组合集中删除重复项
const combined=[…新集合([…集合一,…集合二]);
//获取重复的值
const hasdeplicatevalues=setOne.filter(item=>setTwo.includes(item));
//组合按钮上方的“map”
//如果“hasDuplicateValues”包含当前按钮,请将其禁用
返回组合的.map((n)=>(
));
}
ReactDOM.render(,document.querySelector(#root))
具有重复值
中只有8个值,因此,禁用所有按钮的原因在于您尚未添加的代码。到目前为止,您发布的代码中没有任何问题-如果您可以显示按钮的代码,这将是一件好事-因此我们知道如何针对具有重复ID的按钮。请发布我编辑的组件预存在的按钮?新按钮?这里的问题描述很不清楚。看起来是一个很好的猜测集,但是如果按钮已经存在呢?(这是我从一个拙劣的问题中推断出来的——因此我对此投了适当的票)
render(){
this.button()
}