好的我有这个工作方法来删除文件,如果他们的id在Ids数组中:
deleteFiles(arrayOfIds) {
let allFiles;
for (let i = 0; i < arrayOfIds.length; i++) {
allFiles = this.state.allFiles.filter((file) => {
return file.id !== arrayOfIds[i];
});
}
this.setState({allFiles});
}
它有效,但是只使用lodash或Vanilla JS的短版本是什么?
感谢您的帮助。
答案 0 :(得分:1)
这样的事情应该有效:
deleteFiles(arrayOfIds) {
this.setState({
allFiles: this.state.allFiles.filter(
file=> arrayOfIds.indexOf(file.id) === -1
)});
}
它使用[].indexOf()
来避免内部循环,并内联另一个样板来简化代码。