开发者社区> 问答> 正文

从状态数组中删除项目

故事是,我应该能够将鲍勃,莎莉和杰克放进盒子里。我也可以从包装盒中取出。卸下后,将不留任何插槽。

people = ["Bob", "Sally", "Jack"] 我现在需要删除“ Bob”。新的数组将是:

["Sally", "Jack"] 这是我的react组件:

...

getInitialState: function() { return{ people: [], } },

selectPeople(e){ this.setState({people: this.state.people.concat([e.target.value])}) },

removePeople(e){ var array = this.state.people; var index = array.indexOf(e.target.value); // Let's say it's Bob. delete array[index]; },

... 在这里,我向您展示了最少的代码,因为它包含更多内容(onClick等)。关键部分是从数组中删除,删除,销毁“ Bob”,但removePeople()在调用时不起作用。有任何想法吗?我一直在看这个,但由于使用React,所以我可能做错了。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 10:44:30 329 0
1 条回答
写回答
取消 提交回答
  • 要从数组中删除元素,只需执行以下操作:

    array.splice(index, 1); 在您的情况下:

    removePeople(e) { var array = [...this.state.people]; // make a separate copy of the array var index = array.indexOf(e.target.value) if (index !== -1) { array.splice(index, 1); this.setState({people: array}); } },

    2020-02-08 10:44:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载