Maison  >  Article  >  interface Web  >  Explication détaillée des statistiques de caractères JavaScript, des exemples d'algorithmes d'échange de variables et de différence de tableau

Explication détaillée des statistiques de caractères JavaScript, des exemples d'algorithmes d'échange de variables et de différence de tableau

伊谢尔伦
伊谢尔伦original
2017-07-24 09:28:161931parcourir

Compte les caractères qui apparaissent le plus souvent dans la chaîne

Principe : Ceci est similaire à la déduplication de tableau. Il utilise également un objet obj pour. convertir le tableau L'élément est utilisé comme nom d'attribut de l'objet. Si le nom d'attribut n'existe pas, la valeur est affectée à 1. S'il existe, la valeur est augmentée de 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;
}

Réaliser deux valeurs d'échange variables sans utiliser de troisième variable

Principe : C'est une substitution de variable, idée C'est très astucieux et ne peut être utilisé que pour l'échange de numéros.


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

Trouver la différence maximale d'un tableau

Principe : parcourir le tableau une fois et trouver les valeurs maximales et minimales , Renvoie la différence


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

Obtenir une chaîne aléatoire de n'importe quelle longueur

Principe : vous pouvez spécifier manuellement la bibliothèque de caractères et des caractères aléatoires de longueur n, utilisez les méthodes Math.floor() et Math.random() pour obtenir des caractères aléatoires.


var getRandomString = function(n){
  // 定义随机字符串的字符库
  let str = &#39;qwertyuiopasdfghjklzxcvbnm1234567890&#39;;
  // 定义一个临时变量tmp存储生成的随机字符串
  let tmp = &#39;&#39;;
  //获取str的长度
  let len = str.length;
  // 生成一个长度为n的随机字符串
  for(let i = 0; i < n; i++){
    tmp += str.charAt(Math.floor(Math.random() * len));
  }
  return tmp;
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn