Dibutuhkan bantuan mendesak untuk membuat fungsi permutasi dan kombinasi javascript – JavaScript – Forum SitePoint
.

Saya sangat membutuhkan bantuan mendesak dalam membuat fungsi permutasi dan kombinasi dalam formulir saya. Pada form ini user akan menginput 4 digit angka (tablename___numbers) dan terdapat checkbox bernama “Box” (tablename___box) ketika user mengklik checkbox maka akan dihitung jumlah total permutasi dan kombinasi dari input number (tablename___numbers). misalnya 0001 (3 digit sama) = 4, 1100 (2 digit sama = 6) dan seterusnya…

Nomor Formulir 25
Saya telah mencoba beberapa pengkodean tetapi gagal untuk menjalankannya Tolong bantu untuk melihat di mana saya salah. Terima kasih sebelumnya.

const tablename___box = tablename___numbers[0]

form_25.tablename___box.get('tablename___numbers').getValue()

function disableBox (thisid) {
  const tablename___box = jQuery.trim($('form_25.tablename___numbers' + thisid).val())

  if (no.length !== 4) {
    $('tablename___box ' + thisid).attr('disabled', true)
    $('tablename___box ' + thisid).prop('checked', false)
  } else {
    const combinationCount = checkDigit(no)
    $('tablename___box ' + thisid).val(combinationCount)
    $('tablename___box ' + thisid).attr('disabled', false)
  }
}

function checkDigit (val) {
  const b = form_25.tablename___box.get('tablename___numbers').getValue()
  let same = 0
  let kcount = 0
  let returnData = 1

  for (let i = 0; i < 4; i++) {
    kcount++
    for (let j = kcount; j < 4; j++) {
      if (val.charAt(i) === val.charAt(j)) {
        same++
      }
    }
  }

  if (same === 4) {
    returnData = 1
  } else if (same === 3) {
    returnData = 4
  } else if (same === 2) {
    returnData = 6
  } else if (same === 1) {
    returnData = 12
  } else {
    returnData = 24
  }

  return returnData
}


Jadi… permutasi dan kombinasi adalah hal yang berbeda. Ada 4 permutasi dari 0001, tetapi 1 kombinasi dari 4 item memilih 4 di antaranya…

Saya tidak tahu apa fungsi ini:
var b = form_25.tablename___box .get(‘tablename___numbers’).getValue();
Adalah b nilai yang menurut Anda seharusnya?

Sebenarnya, tidak apa-apa, karena Anda tidak pernah menggunakan b dalam kode Anda. Jadi… hm. Mungkin Anda bisa memberi tahu saya untuk apa itu dan mengapa Anda menggunakannya?

Baca Juga:  Fenecon Jerman membangun pabrik ESS yang akan menggunakan kembali baterai EV

Apa yang memanggil checkDigit dalam kode Anda?



1 Suka

checkDigit adalah rumus untuk menghitung jumlah permutasi dan kombinasi misalnya pengguna memasukkan 0001 di bidang angka dan klik kotak centang (“Kotak”) itu akan memeriksa digit yang dimasukkan di bidang angka dan merespons 4 karena 3 digit yang sama = 4 dan kapan pengguna memasukkan 0011 itu akan mengembalikan 6 karena 2 digit yang sama = 6 dll …

ID formulir adalah 25
Elemen bentuk : angka dan kotak

Hai @hashbackend,

Untuk referensi di masa mendatang, Anda dapat memilih kode yang ditempelkan dan mengklik ikon di menu di bagian atas editor teks dan itu akan memformatnya sebagai blok kode saat Anda mengirimkan posting Anda.

Saya telah melakukannya untuk Anda kali ini.

Sekadar catatan, saya memiliki kode Anda di editor saya dan standardJS mengambil beberapa hal

function disableBox (thisid) {
  // 'tablename___box' is assigned a value but never used
  const tablename___box = jQuery.trim($('form_25.tablename___numbers' + thisid).val())
  // 'no' is not defined. 
  // I don't know if this is a Global variable elsewhere in your code.
  if (no.length !== 4) {
  ...

Sedikit lebih jauh ke bawah

function checkDigit (val) {
  // 'b' is assigned a value but never used.
  const b = form_25.tablename___box.get('tablename___numbers').getValue()
  ...

Pada titik ini, saya pikir masalahnya adalah definisi dari no dalam perintah disableBox, seperti yang ditunjukkan oleh rpg_digital. checkDigit, jika disertakan dengan input yang sesuai, berfungsi dengan benar.

 

SERING DIPERTANYAKAN :

Baca Juga:  Pabrik Makanan Daun Maple senilai $772 juta telah selesai dibangun. Sekarang, saatnya untuk menyewa ratusan

 

WhatsApp chat