使用 javascript 是否有快速交换数组中的 2 个项目的方法?
所以如果它是一个 bool 值你可以这样做
const [isTrue, setIsTrue] = useState(false);
setIsTrue(!isTrue);
但是说我有一个数组
// I want to swap the items in the array on a click
const [trueOrFalse, setTrueOrFalse] = useState([true, false]);
我想切换这些,如果有两个项目,是否有快速交换数组中项目的方法
setTrueOrFalse(!trueOrFalse); // would equal [false, true]
<div onClick={() => setTrueOrFalse()} />Swap items in array</div>
我试图将索引 0 处的元素移动到索引 1,反之亦然。
最佳答案
你可以简单地使用解构与 useState setter 回调方法
// I want to swap the items in the array on a click
const [trueOrFalse, setTrueOrFalse] = useState([true, false]);
const swapState = () => {
setTrueOrFalse(prevState => {
const [val1, val2] = prevState;
return [val2, val1];
})
}
<div onClick={() => swapState()} />Swap items in array</div>
关于javascript - 使用 React hooks 反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54520392/