Maison  >  Article  >  interface Web  >  Exemple de tutoriel de guerre de code

Exemple de tutoriel de guerre de code

零下一度
零下一度original
2017-06-23 09:35:331279parcourir

Aujourd'hui, je vais continuer à poser une question sur les tableaux :

Une difficulté ici est qu'il y a des nombres négatifs dans le tri numérique. Le tri à l’aide du sort signalera également une erreur.

Donc, après réflexion et tests, ma réponse est la suivante :

function highAndLow(numbers){  var numArr=[],numArr1=[],numArr2=[];
  numbers.split(' ').map(function(n){      if(n>=0){
          numArr2.push(n);
      }else{
          numArr1.push(n);
      }
  });
  numArr1.sort((a,b)=>b-a);
  numArr2.sort((a,b)=>b-a);
  numArr = numArr2.concat(numArr1);
  numArr.splice(1,numArr.length-2);  return numArr.join(' ')
}

Divisez d'abord les nombres positifs et négatifs en deux groupes, puis triez-les respectivement, et enfin Pour fusionner des tableaux, prenez simplement le premier et le dernier chiffre des tableaux.

La méthode est un peu bête. Hahaha, je suis cet oiseau stupide.

Enfin, consultez le code écrit par d'autres :

Le plus pratique est

function highAndLow(numbers){
  numbers = numbers.split(' ').map(Number);  return Math.max.apply(0, numbers) + ' ' + Math.min.apply(0, numbers);
}

utilise directement les méthodes max et min de Maths (Pourquoi n'y ai-je pas pensé ? Tête de cochon, 555...)

Il y en a une autre qui se rapproche le plus de mon idée originale :

function highAndLow(numbers){  var arr = numbers.split(' ').sort(function(a, b) { return a - b });  return arr[arr.length -1] + ' ' + arr[0];
}

C'est juste à ce moment-là que j'ai écrit

function highAndLow(numbers){
  numbers.split(' ').sort((a, b)=> a - b });
  numbers.splice(1,numbers.length-2);  return numbers.join(' ');
}

car les nombres n'étaient pas convertis en tableau, ce qui entraînait une erreur (erreur de bas niveau)

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