>  기사  >  웹 프론트엔드  >  JavaScript 문자 통계, 변수 교환 및 배열 차이 알고리즘 예제에 대한 자세한 설명

JavaScript 문자 통계, 변수 교환 및 배열 차이 알고리즘 예제에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-24 09:28:161931검색

문자열에서 가장 자주 나타나는 문자를 계산합니다.

원리: 또한 객체 obj를 사용하여 객체의 속성 이름으로 배열 요소를 사용합니다. 존재하지 않는 경우 값은 1로 할당되고, 존재하는 경우 값이 1씩 증가합니다.


var maxShowTimes = function(str){
  // 创建一个用于判重的对象
  let obj = {};
  // 判断字符串是否为空或只有一个元素
  if(str.length <= 1){
    return str.length === 0?&#39;字符串不能为空&#39;: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 = &#39;&#39;;
  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() 메서드를 사용하여 무작위 문자를 얻을 수 있습니다.


rreee

위 내용은 JavaScript 문자 통계, 변수 교환 및 배열 차이 알고리즘 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.