문자열에서 가장 자주 나타나는 문자를 계산합니다.
원리: 또한 객체 obj를 사용하여 객체의 속성 이름으로 배열 요소를 사용합니다. 존재하지 않는 경우 값은 1로 할당되고, 존재하는 경우 값이 1씩 증가합니다.
var maxShowTimes = function(str){ // 创建一个用于判重的对象 let obj = {}; // 判断字符串是否为空或只有一个元素 if(str.length <= 1){ return str.length === 0?'字符串不能为空':str; } // 利用String的charAt()方法获取各个字符 for(let i = 0; i <= str.length; i++){ if(!obj[str.charAt(i)]){ //如果不存在 obj[str.charAt(i)] = 1; }else{ //如果存在 obj[str.charAt(i)] += 1; } } // 在obj对象中寻找值最大的那个属性 let maxChar = ''; let maxTimes = 0; for(var k in obj){ if(obj[k] > maxTimes){ maxChar = k; maxTimes = obj[k]; } } return maxChar; }
세 번째 변수를 사용하지 않고 두 변수의 교환 값을 실현합니다.
원리: 변수 대체 아이디어는 매우 영리하며 숫자 교환에만 사용할 수 있습니다.
var swap = function(a,b){ if(a === b){ return [a,b]; } b = b - a; // 此处的 b - a中的b和a的值是最初的值 a = a + b; // a = a + b -a; 实现了将b的值赋给a b = a - b; // b = a - (b - a) = 2a - b 相当于 2b = 2a;实现了将a的值赋给b return [a,b]; }
배열의 최대 차이 찾기
원리: 배열을 한 번 탐색하고 최대값과 최소값을 찾은 다음 차이를 반환합니다.
var getMaxProfit = function(arr){ // 定义两个变量,分别存贮最大值和最小值 let maxNum = arr[0]; let minNum = arr[0]; for(let i = 0; i < arr.length; i++){ if(arr[i] > maxNum){ maxNum = arr[i]; } if(arr[i] < minNum){ minNum = arr[i]; } } return maxNum - minNum; }
임의의 길이의 임의 문자열 가져오기
원리: 문자 라이브러리와 무작위 문자 길이 n을 수동으로 지정하고 Math.floor() 및 Math.random() 메서드를 사용하여 무작위 문자를 얻을 수 있습니다.
위 내용은 JavaScript 문자 통계, 변수 교환 및 배열 차이 알고리즘 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!