数独フィラーとして機能する関数を書くために助けが必要です。私の問題は、未定義の値でたくさんのセルを取得することです
確かに、私はそれであなたを助けることができます。以下は、いくつかのセルを未定義のままにしながら、発音パズルを乱数で埋めることができる関数です。

「JS」
fillsudoku（グリッド、numundefined）{
  // 1から9の数字の配列をシャッフルします
  const nums = array.from（{length：9}、（_、i）=> i + 1）;
  for（let i = 8; i> 0; i-）{
    const j = math.floor（math.random（） *（i + 1））;
    [nums [i]、nums [j]] = [nums [j]、nums [i]];
  }

  //再帰ヘルパー関数を定義してグリッドを埋める
  関数fillcell（row、col）{
    //すべてのセルを満たした場合、私たちは完了です
    if（row === 9）{
      trueを返します。
    }

    const nextrow = col === 8？行 + 1：行;
    const nextcol = col === 8？0：col + 1;

    //セルが既に定義されている場合は、次のセルに移動します
    if（grid [row] [col]！== undefined）{
      return fillcell（nextrow、nextcol）;
    }

    //このセルのシャッフル番号をそれぞれ試してみてください
    for（num of nums）{
      if（isvalid（grid、row、col、num））{
        grid [row] [col] = num;
        if（fillcell（nextrow、nextcol）））{
          trueを返します。
        }
      }
    }

    //すべての番号を試していて、機能しない場合は、セルをリセットしてバックトラック
    グリッド[row] [col] =未定義;
    falseを返します。
  }

  //ヘルパー関数を定義して、特定のセルで数値が有効かどうかを確認します
  関数isvalid（grid、row、col、num）{
    //行と列を確認します
    for（i = 0; i <9; i ++）{
      if（grid [row] [i] === num || grid [i] [col] === num）{
        falseを返します。
      }
    }

    // 3x3ボックスをチェックします
    const boxrow = math.floor（列 / 3） * 3;
    const boxcol = math.floor（col / 3） * 3;
    for（i = boxrow; i <boxrow+3; i ++）{
      for（let j = boxcol; j <boxcol+3; j ++）{
        if（grid [i] [j] === num）{
          falseを返します。
        }
      }
    }

    //すべてのチェックが合格した場合、番号は有効です
    trueを返します。
  }

  //再帰ヘルパー関数を呼び出してグリッドを埋める
  fillcell（0、0）;

  //いくつかのセルをランダムに除去します
  const indices = array.from（{length：81}、（_、i）=> i）;
  for（i = 0; i <numundefined; i ++）{
    const idx = math.floor（math.random（） * indices.length）;
    const row = math.floor（indices [idx] / 9）;
    const col =インデックス[idx]％9;
    グリッド[row] [col] =未定義;
    indices.splice（idx、1）;
  }

  //充填された部分的に空のグリッドを返します
  グリッドを返します。
}
`` `

グリッドパラメーターは、発音パズルを表す2Dアレイで、充填する必要があるセルの未定義の値を備えています。「numundefined」パラメーターは、未定義のままにするセルの数です。

この関数は最初に数字1から9をシャッフルし、次に再帰的なバックトラッキングアルゴリズムを使用して、未定義の値でセルに記入します。それぞれの有効性をチェックします