두 번째 문자열은 배열에서 변환되어 NaN
개의 객체가 들어있는 두 번째 문자열입니다. 각 NaN
을 replace()
메서드를 사용하여 첫 번째 문자열의 문자로 바꿉니다. 문자열을 반복하는 것은 분리 된 함수에서 잘 수행되지만, replace()
메서드의 두 번째 인수로 삽입하면 첫 번째 문자열의 첫 번째 문자 만 제공됩니다. 무엇을 바꾸어야합니까?JavaScript에서 replace() 메소드 내부에 문자열을 반복합니다.
let ReverseMe = function (parameter) {
let extractedString = parameter.replace(/[^a-z]/gi, "");
let extractedStringArray = extractedString.split("");
extractedStringArray.reverse();
let joinedExtracted= extractedStringArray.join();
let newArray = parameter.split("");
let mixedArray = newArray.map(Number);
let joinedMixed = mixedArray.join();
let result = joinedMixed.replace(/NaN/g,
joinedExtracted.charAt(function (str) {
var newStr ='';
for (i = 0; i < str.length; i++) {
newStr += str[i];
}
}));
console.info(result);
}
ReverseMe('ab2c');
// Output: c,c,2,c
// Expected: cb2a
: I가
replace()
방법에 삽입 할 때, I는 (가변
result
저장) 잘못된 결과
를 얻을 function proceed(str){
var newStr ='';
for (i = 0; i < str.length; i++) {
console.log(newStr += str[i]);
}
return newStr;
}
proceed('ab2c');
/* Output: */
// a
// ab
// ab2
// ab2c
을 그러나 : 여기
작동 별도의 함수이며
'ab2c'에서'cb2a'를 얻기위한 논리는 무엇입니까? – Mamun
이것은 단지 reverse() 메서드입니다. 추출 된 문자 배열 (extractedStringArray)에 적용한 다음 join() 메서드를 적용한 문자열로 다시 변환되었습니다. 결과는 새로운 역전 된 문자열 joinedExtracted에 저장됩니다.이 문자열은 루프에 들어갈 때 'cba'입니다. – user2751869