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

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

新規登録して質問してみよう
ただいま回答率
85.59%
JavaScript

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

Q&A

解決済

2回答

904閲覧

JavaScript 最適な書き方教えて下さい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

1クリップ

投稿2022/11/21 01:13

配列の中身をループで調べ、それにあった文字を設定しているのですが、
この書き方だとifが長くなってしまいます
"a:0","b:1","c:2"のような書き方で配列定義するにはどうしたらいいのでしょうか?

a=["a","b","c"]; for(i=0;i<a.length;i++){ if(a[i]=="a"){ n="0"; } if(a[i]=="c"){ n="2"; } if(a[i]=="b"){ n="1"; }

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

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

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

miyabi_takatsuk

2022/11/21 02:15

そもそも配列ではなく、オブジェクトにすればいいのでは? オブジェクトにすると何か不都合があるのでしょうか?
yambejp

2022/11/21 02:22

例示のものですとnは常に上書きされるので結果は"2”になりますがそれOKですか?
guest

回答2

3

javascript

1const a=["a","b","c"]; 2const list={"a":0,"b":1,"c":2}; 3const result=a.reduce((x,y)=>x.concat([`${y}:${list[y]}`]),[]); 4console.log(result);

投稿2022/11/21 02:26

yambejp

総合スコア113622

spoofy_dragon❤️を押しています
退会済みユーザー😍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

1

ベストアンサー

何をなさりたいのか、私がきちんと理解できておらず申し訳ないのですが…とりあえず3種類用意してみました。
この中に質問者様のご希望のものがあればいいのですが。

配列 [ ] → 連想配列 { } を生成する場合

javascript

1const keys = ['a', 'b', 'c']; 2const values = [0, 1, 2]; 3const result = {}; 4 5for (let i=0; i<keys.length; i++) { 6 result[keys[i]] = values[i]; 7} 8 9console.log(result); // {a: 0, b: 1, c: 2}

配列 [ ] → 配列 [ ] を生成する場合

javascript

1const keys2 = ['a', 'b', 'c']; 2const values2 = [0, 1, 2]; 3const result2 = []; 4 5for (let i=0; i<keys2.length; i++) { 6 result2.push(`${keys2[i]}:${values2[i]}`); 7} 8 9console.log(result2); // ['a:0', 'b:1', 'c:2']

連想配列 { } → 配列 [ ] を生成する場合

javascript

1const map = {a:0, b:1, c:2}; 2const result3 = []; 3 4for (const [key, value] of Object.entries(map)) { 5 result3.push(`${key}:${value}`); 6} 7 8console.log(result3); // ['a:0', 'b:1', 'c:2']

投稿2022/11/21 22:52

Cocode

総合スコア2314

spoofy_dragon👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.59%

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

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

質問する

同じタグがついた質問を見る

JavaScript

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