내가 착수하고 작업은 다음과 같습니다'duplicates'속성이 2 대신 3을 계속 반환하는 이유는 무엇입니까? 다음과 같이
기능은 removeDuplicates를 호출해야하고, 정렬 된 입력 문자열 있지만 중복 또는 특수 문자없이 있어야 할 '유니크'속성을 포함하는 객체 리터럴을 반환해야합니다. 반환 된 객체에는 삭제 된 총 중복 문자 수를 나타내는 'duplicates'속성도 있어야합니다. 그래서 : removeDuplicates ('일 #의 elex_ash?') 가 반환해야합니다 : {유니크 'aehlstx'중복 : 2} :
function removeDuplicates(str) {
var stg = str.split("");
var nstr = [];
var allowed = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
var count = 0;
for(var i = 0; i<stg.length;i++){
if(nstr.indexOf(stg[i])== -1){
if(allowed.indexOf(stg[i]) > -1){
nstr.push(str[i])
}
else{
count +=1;
}
}
}
return{uniques: nstr.sort().join(""),duplicates: count}
}
그러나 결과를 반환 {여기
내 코드입니다 유니크 : 'aehlstx', 중복 : 3}. 당신이 시간을 당신이 전에 문자를 본 적이 있다면 먼저 확인하려는되지 허용되는 문자 :
방금 if 문을 바꿔서 작동했습니다. 감사합니다 – danoseun
답변을 수락하는 것을 잊지 마세요 ;-) –