質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

解決済

4回答

332閲覧

Javascriptで文字の置き換えを行い、出力したい

DKI

総合スコア11

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2020/10/11 08:21

置き換え前 置き換え後
A 4
E 3
G 6
I 1
O 0
S 5
Z 2

出力したい文字列等
入力例1
pppp
出力例1
P4124
入力例2
ALANTURING
出力例2
4L4NTUR1N6

Javascript

1 2 var str = lines[0]; 3 4 5 6 7 8 while(result !== str) { 9 var result1 = str.replace('A','4'); 10 var result2 = str.replace('E','3'); 11 var result3 = str.replace('G','6'); 12 var result4 = str.replace('I','1'); 13 var result5 = str.replace('O','0'); 14 var result6 = str.replace('S','5'); 15 var result7 = str.replace('Z','2'); 16 17 var result = result1,result2,result3,result4,result5,result6,result7; 18 } 19 20 21 console.log(result); 22

これでやるとエラーが出ました。

Javascript

1 var str = lines[0]; 2 3 var result1 = str.replace('A','4'); 4 var result2 = str.replace('E','3'); 5 var result3 = str.replace('G','6'); 6 var result4 = str.replace('I','1'); 7 var result5 = str.replace('O','0'); 8 var result6 = str.replace('S','5'); 9 var result7 = str.replace('Z','2'); 10 11 var result = result1,result2,result3,result4,result5,result6,result7; 12 13 14 15 console.log(result); 16

こうすると、result1しか変換していなかったためループ処理が必要かと思いますが、その書き方がわかりません。
教えていただけると幸いです。
何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/10/11 09:00 編集

P4124の元入力はPAIZAってことですかPPPPはPPPPにしか ならないですよね? というかPAIZAからの質問の転送?
guest

回答4

0

ベストアンサー

こんな感じですか?

javascript

1var str = 'ALANTURING' //入力例2 2//var str = lines[0] 3var obj = { 4 'A': '4', 5 'E': '3', 6 'G': '6', 7 'I': '1', 8 'O': '0', 9 'S': '5', 10 'Z': '2' 11} 12var result = Array.from(str).map(function(element) { 13 return obj[ element ] || element 14}).join('') 15console.log(result)

入力例1
pppp
出力例1
P4124

の部分はちょっとわかりませんが

投稿2020/10/11 08:39

_._

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DKI

2020/10/11 08:50

ありがとうございます! これをループさせて、全ての場合に適用することは可能でしょうか?
guest

0

var str = 'ALANTURING' //入力例2 //var str = lines[0] var obj = { 'A': '4', 'E': '3', 'G': '6', 'I': '1', 'O': '0', 'S': '5', 'Z': '2' } var result = Array.from(str).map(function(element) { return obj[ element ] || element }).join('') console.log(result)

投稿2020/10/12 04:55

DKI

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

今回のものは運良く0-6の連続した数値なのでこれでいけます

javascript

1var list=["O","I","Z","E","A","S","G"]; 2var str="PAIZA"; 3var res=str.replace(/./g,x=>(y=list.indexOf(x),y>=0?y:x)); 4console.log(res); 5var str="ALANTURING"; 6var res=str.replace(/./g,x=>(y=list.indexOf(x),y>=0?y:x)); 7console.log(res);

投稿2020/10/11 09:06

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

lines[0]の中身を置き換え前→置き換え後に単純置き換えしたいという
イメージでよろしいでしょうか。
var str = lines[0];
str = str.replace('A','4');
str = str.replace('E','3');
str = str.replace('G','6');
str = str.replace('I','1');
str = str.replace('O','0');
str = str.replace('S','5');
str = str.replace('Z','2');
このようにreplaceを並べる事でstrは置き換えられますが如何でしょうか。
ただ、アルファベット全部置き換えとなるとA~Zでreplaceを書くので
コードが汚くなるので通常であれば前と後の変換ルールのArrayを作って
ループして処理するのが分かりやすくなります。

投稿2020/10/11 08:32

yasutakatou

総合スコア446

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DKI

2020/10/11 08:50

はい! こちらでループ処理をしてすべてのケースで適切な値が出力されるようにしたいです
yasutakatou

2020/10/11 09:29

ループ処理というのは出てくる全部に同じ変換ルールを適用したいという意味でしょうか?であれば var str = "ALANTURING"; str = str.replace(/A/g,'4'); str = str.replace(/E/g,'3'); str = str.replace(/G/g,'6'); str = str.replace(/I/g,'1'); str = str.replace(/O/g,'0'); str = str.replace(/S/g,'5'); str = str.replace(/Z/g,'2'); "4L4NTUR1N6" こういう実装になるかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問