如何解决在对象数组中使用 split 和 parseInt
/*passwordList 中的每个对象给出一个密码策略,然后给出密码。
- times 字段表示最小和最大次数 该字母应在密码中。所以 1-3 表示至少 1 次,最多 3 次。
输出之一应该是:
'abcde' 是有效的,a 出现了 1 次并且应该出现 至少 1 次,最多 3 次。
给定下面的代码;代码的“最多”部分不起作用。问题出在哪儿?是与 split() 或 parseInt() 有关还是其他地方的问题?*/
const passwordList = [
{ times: '1-3',letter: 'a',password: 'abcde'},{ times: '1-3',letter: 'b',password: 'cdefg'},{ times: '2-9',letter: 'c',password: 'ccccccccc'}
];
function findSplit(){
for (let i = 0; i < passwordList.length; i++){
const givenStr = passwordList[i].password;
console.log(givenStr)
let ch = passwordList[i].letter;
let count = 0;
for(let i = 0; i<givenStr.length; i++){
if(givenStr.charAt(i) == ch){
count ++;
}
}
console.log(`Total occurrence of ${passwordList[i].letter} : ${count}`);
if (count >= parseInt(passwordList[i].times.split("-"))){
console.log(`${passwordList[i].password} is VALID,${passwordList[i].letter} is present ${count} times and should have been present at least ${parseInt(passwordList[i].times.split("-"))} and at most ${parseInt(passwordList[i].times.split("-"))} times`)
}else{
console.log("This password is not valid!")
}
}
}
findSplit();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。