/**
* for循环遍历,
* 依靠下标定位,int i的值即下标,查询的时候比较灵活,
* 每循环一次就会调用一次getCount()来比较长度,
* 只能用于固定的长度而且有序
*/
/**
* foreach循环
* 不考虑长度,只调用一次getlist();
* 会锁定集合中的对象,期间不能修改,必须全部遍历出结果
* 可以便利无序的
*/
/**
* 总结:在固定长度或者长度不需要计算的时候for循环效率高于foreach
* 在不确定长度或者计算长度有损性能的时候用foreach比较方便
* 在遍历数组的时候,for循环能够在遍历过程中修改数组中元素,而foreach不行
* for循环是可以中断循环(利用break语句或return语句),但forEach不可以中断循环
*/
举例
// 使用foreach无法中断循环,导致不能优先取人民币账户
searchAccData(){ // 加挂账户查询(查询所有)
this.$axios.post(POST_ONACCOUNTLISTQRY, {OpType: 'C'}).then(res => {
if (res._RejCode === "000000") {
for(let i = 0;i< res.DataList.length;i++){
if(res.DataList[i].Currency === 'CNY'){ // 优先默认给一个人民币账户,若没有则取一个外币账户
this.formData.cardNum = res.DataList[i].AcctNo
break
}else{
this.formData.cardNum = res.DataList[i].AcctNo
}
}
}else{
this.$message.error(res._RejMessage?res._RejMessage:'接口报错了')
}
}).catch(err=> {
this.$message.error(err?err:'接口报错了')
})
}