let str = this.state.currentSelectsName.split(',');
let newList = Array.from(new Set(str));
nreList就是去重后的数组
由此延伸下 项目中有个功能
遍历出框中的数组,得到["物理+化学+生物",。。。] 所以可以遍历这个数组在每个item后追加一个”+“,再把数组转换成字符串,再根据加号来分割 转换成数组
this.setState(
({ subject }) => ({
currentSelects: subject.map(item => item.value),
currentSelectsName: subject.map(item => item.name + '+'),
}),
() => {
let str = this.state.currentSelectsName.join('').split('+');
let newList = Array.from(new Set(str));
this.setState({
currentClassNameArry: newList,
});
}
);
最后得出:[”物理“,"数学".......]这样的 而且把里面重复项删除了