提问者:小点点

如何检查后三个数字是否相同jquery


我想知道如何检查后三个数字如果有相同的值,例如:

 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;
 }:

这条路对吗?

谢谢你的帮助,


共2个答案

匿名用户

您可以使用JavaScript的split和Set来检查这一点。

将字符串拆分为字符数组

现在用那个数组做一个集合。一个集合包含唯一的元素,因此任何重复项都将被移除。

检查集合中是否只剩下一个元素,这意味着其他两个元素具有相同的值。

if(new Set(lastdigits.split('')).size === 1) {
    console.log('all were the same')
}

匿名用户

您可以使用split值转换成字符,并比较字符的发生情况。

null

// 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>