如何在 React 中添加和删除数组中的值?
How to add and delete values in an Array in React?
我正在从 API 中获取记录。我将记录总数存储在 size
.
中
const [size, setSize] = useState();
let array = [];
const handleChange = (id) => {
for (let i = 0; i < 1; i++) {
for (let j = 0; j < size; j++) {
if(array[j] === id) {
array.splice(j, 1);
}
else {
array[j] = id;
break;
}
}
}
};
有复选框,当我点击任何复选框时,它的相应 ID 会传入 handleChange()
。
我在 handleChange()
中传递 id
以将其存储在数组中。此外,当我取消选择一个选中的复选框时,相同的 ID 会再次传递,并在循环中检查它是否存在,如果存在,则需要从数组中删除它。
我已经在上面给定的代码中编写了逻辑,但是它不起作用。
谁能帮我解决这个问题?
下面是一个简单的方法;
let array = [];
const handleChange = (id) => {
if (array.includes(id)){
array = array.filter(ids => ids!=id)
} else {
array.push(id);
}
}
我正在从 API 中获取记录。我将记录总数存储在 size
.
const [size, setSize] = useState();
let array = [];
const handleChange = (id) => {
for (let i = 0; i < 1; i++) {
for (let j = 0; j < size; j++) {
if(array[j] === id) {
array.splice(j, 1);
}
else {
array[j] = id;
break;
}
}
}
};
有复选框,当我点击任何复选框时,它的相应 ID 会传入 handleChange()
。
我在 handleChange()
中传递 id
以将其存储在数组中。此外,当我取消选择一个选中的复选框时,相同的 ID 会再次传递,并在循环中检查它是否存在,如果存在,则需要从数组中删除它。
我已经在上面给定的代码中编写了逻辑,但是它不起作用。
谁能帮我解决这个问题?
下面是一个简单的方法;
let array = [];
const handleChange = (id) => {
if (array.includes(id)){
array = array.filter(ids => ids!=id)
} else {
array.push(id);
}
}