Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 比较两个数组';如果id';男女平等_Javascript_Arrays_Reactjs - Fatal编程技术网

Javascript 比较两个数组';如果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

我在状态中有两个数组,它们都有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));

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()
}