我创建了一个名为checkLength( input,min,max)的函数,它接受用户名和密码输入,如下所示。
checkLength(username, 3, 15);
checkLength(password, 8, 25);但是,我希望传入一个inputArray、minArray、maxArray来减少使用forEach循环的重复性。但是看起来forEach循环一次只能接受一个数组。关于如何改进这一点,有什么建议吗?
checkLength2([username,password], [3,8], [8,15])
function checkLength2 (inputArray, minArray, maxArray, i=0) {
inputArray.forEach(input => {
if (input.value < minArray[i]) {
//another error function
i++;
}
});}发布于 2020-09-30 13:27:18
您应该尝试从forEach循环进行索引。
function checkLength2 (inputArray, minArray, maxArray) {
inputArray.forEach((input, i) => {
if (input.value < minArray[i]) {
// do something
} else if (input.value > maxArray[i]) {
// do something else
}
});
}发布于 2020-09-30 13:29:40
如果你想显示相同的消息,你可以试试这个。或者,您可以使用if/else语句来检查minArray和maxArray
function checkLength2(inputArray, minArray, maxArray, i = 0) {
for (let index = 0; index <= inputArray.length; index++) {
if (inputArray[index].value < minArray[index] && inputArray[index].value>maxArray[index]) {
//error
}
}
}https://stackoverflow.com/questions/64131346
复制相似问题