L'objectif principal de cet article est d'apprendre avec vous quelques astuces simples en matière de code JavaScript qui nous font briller au travail.
Remarque : il n'y a pas de bien ou de mal absolu dans la comparaison de code suivante. Certaines méthodes d'écriture auront un scénario d'utilisation relativement unique. Vous pouvez juger en fonction des habitudes et des préférences de chacun. Si vous avez des opinions meilleures ou différentes, veuillez laisser un message pour échanger ~
(Recommandation d'apprentissage gratuite : tutoriel vidéo javascript)
1. Opération de court-circuit :
Lorsque nous rencontrons une telle situation, allez-vous
const res1 = item.a ? item.a : item.b // 看起来很是简洁const res2 = item.a ? item.b : item.a // 看起来很是简洁
ou utiliser des opérations logiques js pour la mettre en œuvre ?
const res1 = item.a || item.b;const res1 = item.a && item.b;
2. La bonne façon d'attribuer une valeur booléenne à une variable par jugement conditionnel :
Lorsque nous devons comparer une seule valeur pour obtenir le résultat, utilisez opérations directes, sinon le jugement if serait beaucoup plus simple~
let res;if(a === '余光'){ res = true }else{ res = false;}// good?const res = a === '余光'
3 La bonne façon de juger si la longueur du tableau n'est pas nulle :
Scénario : Si l'élément mémoire du tableau existe, alors effectuez l'opération :
// badif (arr.length !== 0) { // todo}// goodif (arr.length) { // todo}
Par analogie, lorsque nous devons juger si la longueur du tableau est vide :
if(!arr.length){ // todo}
4. Utiliser inclut pour simplifier si jugement :
Scénario : Si les paramètres sont égaux à 1, 2, 3, 4, passer à l'étape suivante
Ecrire la première version du code :
if(a === 1 || a === 2 || a === 3 || a ===4){ // todo}
Je ressens un mal de tête inhabituel après l'avoir lu. Ensuite, il a été modifié en :
if([1,2,3,4].includes(a)){ // todo}
5. Utilisez-en pour déterminer s'il existe une valeur qualifiée :
.Scénario : Rechercher s'il existe un produit avec un prix inférieur à n
const itemList = [ {name: '手机', price: 1000}, {name: '手机壳', price: 10}, {name: '帽子', price: 50},]function checkData(n){ for(let i = 0; i <p>La méthode a été écrite, mais comme js nous fournit autant de méthodes de tableau, utilisez-la : </p><pre class="brush:php;toolbar:false">const itemList = [ {name: '手机', price: 1000}, {name: '手机壳', price: 10}, {name: '帽子', price: 50},]const checkData = (n) => itemList.some(item => item.price <p>Optimiser à nouveau</p><pre class="brush:php;toolbar:false">const checkData = (n, itemList) => itemList.some(item => item.price <p><strong>6. Utilisez la méthode de filtrage pour filtrer le tableau d'origine, Formez un nouveau tableau </strong></p><p> Scénario : Éliminez certains éléments inutiles Par exemple, l'identifiant. de chaque donnée sont des données nécessaires aux opérations ultérieures. Afin d'éliminer les données défectueuses, nous ferons ceci : </p><pre class="brush:php;toolbar:false">const data = [ { name: '手机', price: 1000, id: 1 }, { name: '手机壳', price: 10, id: 2 }, { name: '帽子', price: 50, id: '' },]// badlet newArr = []for (let i = 0; i <p>Pour maîtriser l'idée de "filtrage", nous la traitons comme ceci : </p><pre class="brush:php;toolbar:false">const afterData = data.filter(item => item.id);
7. Utilisez map pour traiter par lots les éléments du tableau :
Scénario : En ce qui concerne le prix Dans l'interaction, le champ de prix que nous obtenons est généralement en cents. Comment l'afficher ?
const data = [10000, 20000, 980000]const afterData = data.map(price => price / 100)
8. Déconstruire le tableau pour remplacer les valeurs des variables
Scénario : Deux valeurs doivent être échangées
// badlet a = 1, b = 2let temp = a a = b b = temp// goodlet a = 1, b = 2[b, a] = [a, b]
9. Déstructuration Intégré au code :
Scénario : Récupérer un élément dans l'objet et définir la valeur par défaut
Écrire la première version du code :
// badsetForm (person) { this.name = person.name this.age = person.age }// goodsetForm ({name = '余光', age}) { this.name = name this.age = age }
10. Que peut-on faire lorsque plusieurs méthodes sont combinées ? (Exemple 1)
C'est la dernière idée concise du code. Prenez une distance de scène spécifique pour inspirer les autres à laisser un message dans la zone de commentaire~
.Scène :
Les données obtenues par le front-end sont
data = [ { id: 1, name: '一级标题-1' }, { id: 2, name: '一级标题-2' }, { id: 3, name: '二级标题-1', pid: 1 }, { id: 3, name: '一级标题-3' }, { id: 3, name: '二级标题-2', pid: 2 },]
Nous devons former une relation d'association, telle que :
needData = [ { id: 1, name: '一级标题-1', children: [ { id: 3, name: '二级标题-1', pid: 1 } ] }, { id: 2, name: '一级标题-2', children: [ { id: 5, name: '二级标题-2', pid: 2 } ] }, { id: 4, name: '一级标题-3' },]
J'ai donc utilisé plusieurs API fournies par le tableau :
newList = data.reduce((result, item, _, arr) => { if (!item.pid) { return [...result, item]; } const parentItem = arr.find(({ id }) => id === item.pid); if (parentItem) { const { children = [] } = parentItem; parentItem.children = [...children, item]; } return result;}, []);
Idée :
- Trouver l'élément avec le parent
- Envoyer le au bon emplacement
- Renvoyer toutes les données sans parent field (pid)
Si vous avez d'autres idées et opérations similaires, assurez-vous de laisser un message
Recommandations d'apprentissage gratuites associées : javascript(Vidéo)
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!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft
