1

私は Javascript コースの課題を持っています。ここでは、特定の種類の要素が配列内でいくつ発生するかを数えなければなりません。配列は 105 要素の長さで、数字 1、2、3、4、5 が出現するだけです。1、2、3 などの数を数えなければなりません。

もちろん、ループを使用してこれを行う簡単な方法がありますが、私の先生は課題の最後に次のことを追加しました。

length プロパティ、toString()、sort()、および indexOf() メソッドのみを使用してください。ループや条件ステートメントは使用しないでください。

ループを使用せずにこの割り当てを行う方法がわかりません。あなたが私に与えることができるどんな助けも大歓迎です。ありがとう!

4

3 に答える 3

2

これが答えになります:

var c=[1,2,3,4,5,2,3,4,5]
    c.sort()

    cout_of_1 = c.indexOf(2)-c.indexOf(1);
    cout_of_2 = c.indexOf(3)-c.indexOf(2);
    cout_of_3 = c.indexOf(4)-c.indexOf(3);
    cout_of_4 = c.indexOf(5)-c.indexOf(4);
    cout_of_5 = c.length-c.indexOf(5)+1;
于 2013-09-29T13:49:08.157 に答える
1

これは課題であり、実際に試行を示していないため、いくつかのヒントを提供します。

  • 配列を並べ替えると、すべての 1 が配列の先頭にグループ化され、次にすべての 2 がグループ化されます。
  • このindexOf関数は、指定された要素が配列内で見つかる最初のインデックスを返します。存在しない場合は -1 を返します。

ソートされた配列内の各桁の最初の出現のインデックスが与えられた場合、各桁がいくつあるかを計算できるはずです。まったく必要かどうかわかりませんtoString()。あなたのインストラクターはそれをこっそりと投げ入れたかもしれません。

于 2013-09-29T13:49:17.223 に答える