有人可以帮忙解释一下 JavaScript 代码中使用的逻辑吗?
下面的代码检查两个字符串是否是彼此的变位词,但我不明白用于检查字符串的方法。
谢谢。
<script type="text/javascript">
$(document).ready(function() {
var anagram = function(str1, str2){
if (str1.length !== str2.length) {
return false;
}
var sortstr1 = str1.split('').sort().join('');
var sortstr2 = str2.split('').sort().join('');
return (sortstr1 === sortstr2);
}
$('.AnagramChecker').on('click', function(e) {
e.preventDefault();
if($('#string1').val() == '') {
$('#string1').addClass('error');
if($('#string2').val() == '') {
$('#string2').addClass('error');
}
$('.results').empty();
$('.results').hide();
} else {
$('#string1').removeClass('error');
if($('#string2').val() == '') {
$('#string2').addClass('error');
$('.results').empty();
$('.results').hide();
} else {
$('#string2').removeClass('error');
var isAnagram = anagram($('#string1').val(), $('#string2').val());
$('#string1').val('');
$('#string2').val('')
$('.results').show();
$('.results').empty().append('Anagram is: ' + isAnagram);
}
}
});
});
</script>
最佳答案
两个字符串都被拆分成各自字符的数组,然后按字母顺序排序并再次连接成字符串。然后比较字符串,如果它们相同,则为彼此的变位词。
关于html - 检查两个字符串在 JavaScript 中是否是彼此的变位词。这里使用了什么逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35144857/