我正在尝试比较2个状态数组中的值,但是当我查看otherItems[i]
的值时,我得到了undefined
。为了澄清起见,Items
是包含许多数据点的Objects数组,为什么我用.name
来调用它,而otherItems
只是名称数组。如果我只打this.state.otherItems
,那么我会得到完整的数组内容。
this.state = {
Items: [],
otherItems: [],
...
}
...
function = () => {
var total = this.state.total;
var i;
for(i = 0; i < this.state.Items.length; i++) {
console.log(this.state.otherItems[i]);
if(this.state.Items[i].name === this.state.otherItems[i]) {
total += parseFloat(this.state.Items[i].price)
}
}
this.setState({Total: total})
}
我想发生的是将两个数组中的项目进行比较,并且当且仅当i
中的项目Items
存在于{ {1}}。