【发布时间】:2020-04-26 14:34:25
【问题描述】:
我想删除数组中数量为零的项目。我试过了:
constructor(props) {
super(props);
this.state = {
serviceAvailed: [{"label": "Top", "quantity": 2}, {"label": "Bottoms", "quantity": 0},
{"label": "Jacket", "quantity": 1}, {"label": "Beddings", "quantity": 0}, {"label": "Shoes",
"quantity": 0}];,
}
在组件上确实挂载了我循环数组中的项目并调用方法 removeItem 应该删除所有数量为零的项目
componentDidMount() {
let {serviceAvailed } = this.state;
serviceAvailed = this.state.array.map((item, i) => {
let quantity=parseInt(item.quantity);
if(quantity<1){
this.removeItem(i)
}});
}
删除数组的函数
removeItem(index) {
const serviceAvailed = this.state.serviceAvailed;
serviceAvailed.splice(index, 1);
this.setState({ serviceAvailed });
console.log(serviceAvailed)
}
预期结果: serviceAvailed: [{"label": "Top", "quantity": 2}, {"label": "Jacket", "quantity": 1}];,
【问题讨论】:
-
为什么不简单地使用array.filter?
标签: javascript arrays reactjs react-native