Maison  >  Article  >  interface Web  >  Partagez quelques codes JS pratiques sur une seule ligne

Partagez quelques codes JS pratiques sur une seule ligne

Guanhui
Guanhuiavant
2020-06-17 17:59:261978parcourir

Partagez quelques codes JS pratiques sur une seule ligne

Les lignes de code simples sont extrêmement difficiles à maintenir (et parfois même difficiles à comprendre), mais cela ne les empêche pas d’être plutôt sympas. Vous vous sentirez certainement satisfait après avoir rédigé une solution minimaliste.

Voici quelques-uns de mes récents favoris. Ils fonctionnent tous directement dans votre console ouverte, essayez-le. J'espère que vous pourrez également partager votre code préféré dans les commentaires.

1. Calendar Hacker

Ali Spittel a poussé les mises à jour récentes. Cela résout un problème auquel j'ai été confronté à plusieurs reprises. Si vous remplacez le signe moins par un signe plus, cela vous donne les jours des sept prochains jours.

// 创建一个过去七天的数组,包含
[...Array(7).keys()].map(days => new Date(Date.now() - 86400000 * days));

2. Générer des identifiants de manière aléatoire

C'est ma fonctionnalité préférée pour créer des identifiants uniques lors du prototypage. J'ai même vu des gens l'utiliser en mode production. Ce n'est pas sûr, mais... il existe des fonctions de génération aléatoire pires.

// 生成一个长度为 11 的随机字母字符串
Math.random().toString(36).substring(2);

3. Quine

quine est un programme qui génère son propre code source. Quine m'a toujours fasciné. J'ai fait ma propre quine plusieurs fois dans différentes langues, mais ce sont les détails qui comptent.

J'ai sélectionné quelques gagnants pour vous. Ces trois-là viennent de Mama Fun Roll, PleaseStand et Peter Olson.

// $=_=>`$=${$};$()`;$()
$=_=>`$=${$};$()`;$()

// eval(I="'eval(I='+JSON.stringify(I)+')'")
eval(I="'eval(I='+JSON.stringify(I)+')'")

// For those who like their quines via alert
// (function a(){alert("("+a+")()")})()
(function a(){alert("("+a+")()")})()

4. Obtenez les paramètres de requête

Il s'agit de code non maintenable. Cela convertit les paramètres de requête de la page en un objet de 78 octets. Merci à Alex Lohr pour l'implémentation du code (et à Qi Yi).

?foo=bar&baz=bing => {foo: bar, baz: bing}

// 设置 `q` 的值为当前页面的查询参数
q={};location.search.replace(/([^?&=]+)=([^&]*)/g,(_,k,v)=>q[k]=v);q;

Je veux voir les minis travailler si dur.

5. Réveil de travail

Avec seulement une petite quantité de code, vous pouvez créer un réveil de travail et lire son code source en une seule fois. Après un défi avec mes collègues, j'ai écrit cet article. Il chronomètre chaque seconde et met à jour la page avec l'heure actuelle.

<body onload="setInterval(()=>document.body.innerHTML=new Date().toGMTString().slice(17,25))"></body>

6. Disposez un tableau au hasard

Avant que les Pythonistas ne montrent les solutions import random, random.shuffle(array), nous ne pouvons que nous débrouiller seuls. Cela présente l'avantage que les chances de devenir une boucle infinie sont faibles (en fonction de votre implémentation). Michiel Hendriks Aidez-nous à sauver certains personnages

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer