我想知道如何检查后三个数字如果有相同的值,例如:
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;
}:
这条路对吗?
谢谢你的帮助,
您可以使用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>