やりたいこと
数値のリストでなにかのデータが指定個数以上ならTrueを返す配列CountArrayValue
を作成したいです。
関数
CountArrayValue
は1つめの引数に対象の配列、1つめの引数に指定個数(数値)を指定します。
動作させたいコード
文字の重複ならいくつか方法が見つかりましたが数値だとどうしてもわかりませんでした。
javascript
1const Myarray1 = [0 , 2 , 2 , 2, 2] 2const Myarray2 = [0 , 1, 2] 3 4if (CountArrayValue(Myarray1, 4)){ 5 console.log("4つの重複がある") //こっちを出したい 6}else{ 7 console.log("重複なし") 8} 9 10if (CountArrayValue(Myarray2, 4)){ 11 console.log("4つの重複がある") 12}else{ 13 console.log("重複なし") //こっちを出したい 14}v
参考にしようとしたサイト
https://qiita.com/saka212/items/408bb17dddefc09004c8
追記
すみません肝心のコードを忘れていました
現時点でできているコードです
構文エラーで2回目のforEachでエラーが出ます
また、どうもスマートにかけないのでもっといい方法があったら教えてほしいです。
javascript
1function CountArrayValue(array, number){ 2 let count = {}; 3 array.forEach(i => { 4 count[i] = (count[i] || 0) + 1; 5 }); 6 count.forEach((i)=>{ 7 if (count[i] == number){ 8 return true; 9 } 10 }) 11 return false; 12 13}
回答2件
あなたの回答
tips
プレビュー