Je me demande comment vérifier les trois derniers chiffres si avoir la même valeur, par exemple:

 html:
 <select>
 <option value="3000">3000</option>
 <option value="3245">3245</option>
 </select>

 JS 
 var selectedoption = "";     
 var lastdigits = $('select option').val().substring(1, 4);

 if(selectedOption != 000)) {
        lastdigits = selectedoption;
 }:

Est-ce la bonne façon?

Merci pour l'aide,

-2
alench 24 mars 2021 à 13:25

2 réponses

Meilleure réponse

Vous pouvez utiliser JavaScript Split et défini pour vérifier cela.

Diviser la chaîne en un tableau de caractères

Maintenant, faites un ensemble avec ce tableau. Un ensemble contient des éléments uniques, de sorte que tous les doublons seront supprimés.

Vérifiez s'il n'y a qu'un seul élément laissé dans l'ensemble, ce qui signifie que les deux autres éléments avaient la même valeur.

if(new Set(lastdigits.split('')).size === 1) {
    console.log('all were the same')
}
1
Ty Kroll 24 mars 2021 à 10:48

Vous pouvez le faire avec split la valeur en caractères et comparer des caractères pour des occurrences.

// for each div
$("div").each(function() {
  // get value and turn into string for split
  const val = $(this).data('value').toString();
  
  const chars = val.split('');
  let numberOccurences = 0;
  
  // if bigger than 3 chars
  if(chars.length >= 3) {
    for(let i=chars.length-3; i<chars.length; i++) {
      // find occurences
      if(chars[i] === chars[i-1])
        numberOccurences++;

      // mark result
      if(numberOccurences == 2) {
        $(this).css('background', 'red');
        numberOccurences = 0;
      }
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div data-value="100333">
test A
</div>
<div data-value="1234">
test B
</div>
<div data-value="1444">
test C
</div>
0
daremachine 24 mars 2021 à 11:05