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

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

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

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

3回答

1161閲覧

javascript 配列

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2015/10/13 12:54

jsで1から10までの整数をランダムで30個ぐらい出して
それぞれ何個ずつ出たのかを表示したいのですが、

たとえばランダムで1,4,3,3,7と出た場合
1=1
2=0
3=2
....
7=1
8=0
9=0
10=0
のように表示させたいです。

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

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

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

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

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

guest

回答3

0

ベストアンサー

大体こんな感じでしょうか
http://jsfiddle.net/ritouka/tacu3q04/

javascript

1function randomInts(count) { 2 var ints = [] 3 for (var i = 0; i < count; i++) { 4 var randomInt = Math.ceil(Math.random() * 10) 5 ints.push(randomInt) 6 } 7 return ints 8} 9 10function countInts(ints) { 11 var counter = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 12 for (var i = 0; i < ints.length; i++) { 13 counter[ints[i]]++ 14 } 15 return counter 16} 17 18function printCounter(counter) { 19 var result = '' 20 for (var i = 1; i < 10; i++) { 21 result += '' + i + ' = ' + counter[i] + '\n' 22 } 23 return result 24} 25 26var count = 30 27var ints = randomInts(count) 28console.log(ints) 29var counter = countInts(ints) 30var result = printCounter(counter) 31console.log(result)

投稿2015/10/13 13:55

touka

総合スコア46

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

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

退会済みユーザー

退会済みユーザー

2015/10/13 14:08

まさにこれです。ありがとうございます。疑問に感じたことが...どうがんばってもここまでコードが長くなってしまうのでしょうか?
guest

0

オブジェクトのキーに対象、値に回数を保持して、求めることが出来ます。

js

1var items= []; 2for(var i=0; i<30; i++){ 3 items.push(Math.ceil(Math.random()*10)); 4}; 5console.log(items); 6// [10, 2, 9, 6, 6, 3, 9, 0, 2, 8, 1, 6, 8, 0, 7, 8, 5, 7, 2, 6, 5, 5, 9, 2, 9, 10, 5, 10, 8, 1] 7 8var count= {} 9items.forEach(function(item){ 10 count[item]= (count[item] | 0) + 1; 11}); 12console.log(count); 13// {0: 2, 1: 2, 2: 4, 3: 1, 5: 4, 6: 4, 7: 2, 8: 4, 9: 4, 10: 3}

参考: JavaScriptで数値を整数に変換する

投稿2015/10/13 13:47

編集2015/10/13 13:59
horse_n_deer

総合スコア452

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

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

0

こういうことですか?

javascript

1var arr = [0,0,0,0,0,0,0,0,0,0]; 2arr[0]++; 3arr[3]++; 4arr[2]++; 5arr[2]++; 6arr[6]++; 7 8var str = ""; 9for(var i=0; i<arr.length; i++){ 10 str+= (i+1) + "=" + (arr[i]) + "\n"; 11} 12alert(str);

出力部分を追記 22:35

投稿2015/10/13 13:18

編集2015/10/13 13:35
hirohiro

総合スコア2068

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問