我想在 React 中從物件陣列中洗掉一個物件到另一個陣列中,但是我有點困惑,到目前為止我可以將一個物件推入陣列中。但是有點困惑如何通過索引洗掉它。
資料
const addValues = [
{
"name": "New 1",
"Value": [98,15,7,8]
},
{
"name": "New 2",
"Value": [7,18,9,40]
},
{
"name": "New 3",
"Value": [0,19,50,98]
},
{
"name": "New 4",
"Value": [56,89,34,20]
},
]
const [value, setValue] = useState([]);
const handlePush = () => {
setValue(oldArray => [...oldArray, newValue]);
};
<div>{addValues?.map((inside, index) => {
return (
<React.Fragment key={index}>
<p>{inside.name} <button onClick={() => setTags(oldArray => [...oldArray, addValue[index]])}>Add</button></p>
</React.Fragment>
)
})}</div>
uj5u.com熱心網友回復:
如果你想要一個不可改變的陣列的一個子集,這就是所謂的一個filter操作。并且要按索引洗掉專案,那么您只需要過濾邏輯來過濾掉一個特定的索引。
例如:
const handleRemove = (removeIndex) => {
setValue(oldArray => {
return oldArray.filter((value, i) => i !== removeIndex)
})
}
uj5u.com熱心網友回復:
可以使用過濾器生成一個沒有您想要剪切的位置的新陣列
像這樣:
const filteredArray = items.filter((item, index) => index !== value);
uj5u.com熱心網友回復:
splice給定陣列索引,您可以使用該函式來實作此目的:
const handleDelete = (arrayIndex) => {
setValue(oldArray => oldArray.splice(arrayIndex,1));
};
內碼
const addValues = [
{
"name": "New 1",
"Value": [98,15,7,8]
},
{
"name": "New 2",
"Value": [7,18,9,40]
},
{
"name": "New 3",
"Value": [0,19,50,98]
},
{
"name": "New 4",
"Value": [56,89,34,20]
},
]
const [value, setValue] = useState([]);
const handlePush = () => {
setValue(oldArray => [...oldArray, newValue]);
};
const handleDelete = (arrayIndex) => {
setValue(oldArray => oldArray.splice(arrayIndex,1));
};
<div>{addValues?.map((inside, index) => {
return (
<React.Fragment key={index}>
<p>{inside.name} <button onClick={() => setTags(oldArray => [...oldArray, addValue[index]])}>Add</button></p>
</React.Fragment>
)
})}</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/353365.html
標籤:javascript 反应
