我在该州有两个数组,并且都有 id。arrOne = [2,6,8]arrTwo = [3, 8, 4]如果某个数组具有相同的值(在本例中为 8),我想禁用所有具有相同值的按钮。我试过这样,但我不明白button = () => {const checkId = this.state.arrOne.filter(arr => arr.includes(this.state.arrTwo.map(data => data.id))if(checkedId){return <Button disable />} return <Button />}render(){this.button()}我有所有数组的按钮,如果数组一等于数组二,我想禁用这个相等的特定按钮有什么想法吗?谢谢您的帮助
2 回答
开满天机
TA贡献1786条经验 获得超13个赞
这应该有帮助。
const isDisabled = this.state.arrOne.some(item => this.state.arrTwo.includes(item));
return <Button disabled={isDisabled} />;
慕码人8056858
TA贡献1803条经验 获得超6个赞
找到数组的交集并做逻辑
var setOne = [2,6,8];
var setTwo = [3, 8, 4]
var hasDuplicateValues = [...new Set(setOne)].filter(item => setTwo.includes(item));
if(hasDuplicateValues.length > 0) {
// Disable button
}
else {
// Enable button
}
添加回答
举报
0/150
提交
取消