我必须操作两个数组。而且我在删除乘法项目时遇到了一些问题。 假设我们有两个数组:
const [array1, setArray1] = useState([1,3,5])
const [array2, setArray2] = useState([2,4,6])
其中一个函数可以从数组中删除数字:
const someArray = [4]
const toArray1 = (someArray) => { setArray2(array2.filter(e => e !== someArray[0]))
如果从数组中删除一个元素,则此代码有效,但是我想获得可以从数组中删除乘数。例如,const someArray = [2,4,6]
允许我获得array2 = []
我想知道是否有一种很好的方法来链接过滤器和映射(或forEach(以过滤给定数组中的所有值。
你可以用数组检查Array#includes
。
array2.filter(e => !someArray.includes(e))