Reactjs 未在React中填充状态数组
我试图做一个简单的操作,在React中创建一个数组,并将其设置为一个state对象。有人知道为什么state.countState为每个数组元素填充“null”吗?我想我错过了一些很简单的东西Reactjs 未在React中填充状态数组,reactjs,state,Reactjs,State,我试图做一个简单的操作,在React中创建一个数组,并将其设置为一个state对象。有人知道为什么state.countState为每个数组元素填充“null”吗?我想我错过了一些很简单的东西 class DisplaySort extends Component { constructor(props) { super(props); this.state = { array: [5, 4, 3, 2, 1], countState: [],
class DisplaySort extends Component {
constructor(props) {
super(props);
this.state = {
array: [5, 4, 3, 2, 1],
countState: [],
};
this.sort = this.sort.bind(this);
}
render() {
return (
<div className="buttons">
<button onClick={this.sort}>Sort</button>
</div>
);
}
sort(e) {
let data = this.state.array;
let arr = [...data];
let min = Math.min(...arr);
let max = Math.max(...arr);
let i = min,
j = 0,
len = arr.length,
count = [];
for (i; i <= max; i++) {
count[i] = 0;
}
for (i = 0; i < len; i++) {
count[arr[i]] += 1;
}
this.setState({ countState: count });
};
class DisplaySort扩展组件{
建造师(道具){
超级(道具);
此.state={
数组:[5,4,3,2,1],
国家:[],
};
this.sort=this.sort.bind(this);
}
render(){
返回(
分类
);
}
排序(e){
让data=this.state.array;
设arr=[…数据];
设min=Math.min(…arr);
设max=Math.max(…arr);
让i=min,
j=0,
len=arr.长度,
计数=[];
for(i;iMath.min
和Math.max
不将数组作为参数
可以展开数组并传递值:
constbla=[1,0,-1];
console.log(Math.min(bla))//日志
console.log(Math.min(…bla))//logs-1
Math.min([5,4,3,2,1])
返回NaN
。sort
应该做什么?它似乎没有对数组进行排序。为了简单起见,这是我的应用程序的一个截断版本。我已经将(或至少是一个)问题缩小为返回一个“null”数组对于count,即使在添加扩展运算符后,count数组仍填充“null”elements@Jerry123更新了我的答案,你有一个逻辑错误。