2つの文字列、つまり2番目の文字列が、NaN
オブジェクトを含む配列から変換されています。私はreplace()
メソッドを使用して、各NaN
を最初の文字列の文字に置き換えようとします。文字列をループするのは分離された関数でうまくいくが、replace()
メソッドの2番目の引数として挿入すると、最初の文字列の最初の文字のみが返される。私は何を変えるべきですか?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
:私は
replace()
メソッドにそれを挿入したときに、私は(変数
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