如果条件在 React JSX 中,从 json 数组 wrt 中删除数组



如何在 react js 中从 json 数组中删除数组。我尝试过这样的事情。但不起作用

现在响应直接设置为atate,如下所示

let { newData} = response;

请帮助过滤项目。来自响应或状态变量

response.map((res, index) => {
if (res.status==1) {
res.splice(index, 1) // remove element
};
})

响应是 [对象对象] 当我发出警报时

[
{id:1, status:1},
{id:2, status:0},
{id:3, status:1},
]

使用过滤器而不是地图并过滤掉不需要的对象。

const filteredArray = response.filter((res) => res.status !== 1);

请注意,这将创建一个新数组,而不会改变您的原始数组。

你应该创建一个新的数组,你可以试试。

let temp = []
response.forEach((res, index) => {
if (res.status !== 1) {
temp.push(res)
}
})

更好的解决方案是使用过滤方法,或者如果你仍然想使用拼接,它应该是 response.splice
注意:正如@VLAZ所指出的,使用拼接方法是错误的,因为它会移动元素,但无论拼接掉的元素如何,forEach 的索引都会继续。

var response = [
{id:1, status:1},
{id:2, status:0},
{id:3, status:1},
]


response.forEach((res, index) => {
if (res.status==1) {
response.splice(index, 1) // remove element
};
})

console.log(response);

最新更新