if(wqe !== null){ if(wqe.length > 1){ for(var i=0;i < wqe.length; i++){
console.log(wqe[i]) return wqe[i]
}
} return wqe
}一段code如上,我去判断某数组长度如果大于一,就跑for把每个值抓出来小于一,也就是只有一个的话,直接return值现在有一个问题是如果它长度是大于一,假设是这样['aaa','bbb','nnn']我的return wqe[i]只会传出数组中的第一个值,也就是aaa后面bbb、nnn就不传了 我想要它把同数组里每个值都依序传出来依序传出来就是 我想要它先传aaa,再传bbb,再传nnn这样,而不是一次传出aaa,nnn,nnn大概就是多次调用,每次返回的不一样的意思吧主要是我要在html去接传来的值 透过传来的值去显示数据html上大概是这样 {{ test[returnName()][0] }}会根据传来的值去抓某数组内的资料返回后应该要这样{{ test['aaa'][0] }}
{{ test['bbb'][0] }}
{{ test['ccc'][0] }}而不是{{ test['aaa,bbb,ccc'][0] }}这该怎么改?
2 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
这实际问题应该是想问:某语句的执行结果随执行次数而改变,用闭包就行了,简单粗暴点可以用全局变量记录执行次数
var wqe = ["aaa","bbb","ccc"];var returnName = ((arr)=>{ let i=0; return () => arr[i++] })(wqe);console.log(returnName()); //aaaconsole.log(returnName()); //bbbconsole.log(returnName()); //ccc
添加回答
举报
0/150
提交
取消