Ce que vous devez savoir sur les tableaux JS : Array.from
Recommandations d'apprentissage associées : Tutoriel vidéo javascript
Préface
Je voulais faire cette série depuis l'année dernière quand j'ai découvert que la méthode de remplacement des chaînes avait de nombreuses utilisations magiques, mais je n'ai jamais eu le temps et je n'ai pas pensé à un bon nom, alors je l'ai mis en attente. Quand je faisais mes devoirs vendredi dernier, j'ai vu une solution dans les commentaires, qui consiste à utiliser Array.from pour le résoudre en une seule ligne, et c'est assez efficace. J'ai donc lu les documents et les blogs, et après avoir compris, j'ai pensé qu'il était temps de commencer cette série. De plus, les tableaux sont l'une des structures de données les plus couramment utilisées dans notre développement. En tant que méthode de génération de tableaux, il est logique de commencer par. Contentons-nous du nom de la série.
- Syntaxe de base
Définition : La méthode from() est utilisée pour passer un objet ou un itérable avec la longueur attribut Objet pour renvoyer un tableau.
Syntaxe : Array.from(object, mapFunction, thisValue)
Paramètres | Description | ||||||||
|
Obligatoire, l'objet à convertir en tableau. | ||||||||
mapFunction |
Facultatif, la fonction à appeler pour chaque élément du tableau. | ||||||||
Facultatif, l'objet this dans la fonction de mappage (mapFunction). |
Exemple d'utilisation
1. 🎜>Array.from('hello') //["h", "e", "l", "l", "o"]
Array.from(new Set(['name','age'])) //["name", "age"]
Array.from({name:'lgc',age:25}) //[]
let map=new Map()
map.set('name','lgc')
map.set('age',25)
Array.from(map) //[["name", "lgc"],["age", 25]]
function test(){
console.log(Array.from(arguments))
}
test(1,2,3) //[1, 2, 3]复制代码
function clone(arr){
return Array.isArray(arr) ? Array.from(arr, clone):arr
}
let arrayA=[[1,2],[3,4]]
let arrayB=clone(arrayA)
arrayA===arrayB //false
arrayA[0]===arrayB[0] //false复制代码
function unique(arr){
return Array.from(new Set(arr))
}复制代码
4. Autres utilisations de from
Regardez à nouveau la définition de from : la méthode from() est utilisée pour passer des objets avec la
longueurattribut ou can Un objet itérable pour renvoyer un tableau. Juste de la longueur ? Essayez-le
Array.from({length:2},(val,index)=>index) //[0,1]复制代码
D'accord, mais à quoi ça sert ? Premièrement, comme le code ci-dessus, vous pouvez facilement générer un tableau
Array.from({length:3},(val,index)=>index*10) //[0,10,20]复制代码
dans une certaine plage et avec certaines règles. Deuxièmement, l'initialisation du tableau. Par exemple, vous souhaitez générer un tableau d'objets d'une longueur spécifiée. Quelle a été votre première réaction ? remplir?
let testArr=Array(3).fill({}) testArr[0]===testArr[1] //true复制代码
Chaque objet ici est en fait le même. Si vous en modifiez un, les autres changeront naturellement en conséquence, mais souvent, ce dont nous avons besoin n'est pas comme ça. let testArrb=Array.from({length:3},()=>({}))
testArrb[0]===testArrb[1] //false复制代码
Le contenu ci-dessus est en fait progressivement conçu pour mieux comprendre les idées de résolution de problèmes suivantes. A
A
Question LeetCode 867 :
Étant donné une matrice
, renvoie la matrice transposée de.
La transposition d'une matrice fait référence au retournement de la diagonale principale de la matrice et à l'échange de l'index de ligne et de l'index de colonne de la matrice.
Exemple 1 : Entrée : [[1,2,3],[4,5,6],[7,8,9]] Sortie : [[1,4,7],[2, 5,8],[3,6,9]] Exemple 2 : Entrée : [[1,2,3],[4,5,6]] Sortie : [[1,4],[2,5], [3,6]]
Ma première réaction a été que ce n'était pas un échange d'indice ? C'est si simple. J'ai donc écrit le code suivant
var transpose = function(A) { let x=A.length let y=A[0].length for(let i=0;i<x;i++){ for(let j=0;j<y;j++){ if(j-i>0){ [A[i][j],A[j][i]]=[A[j][i],A[i][j]] } } } return A };复制代码
Code d'exécution : réussi, soumission : échouée. Bon sang? En regardant le message d'erreur, j'ai constaté que la situation de l'exemple 2, où la "longueur et la largeur" ne sont pas égales, avait été ignorée. Changez votre façon de penser et inversez les cycles internes et externes. Chaque fois que la boucle la plus externe est exécutée, une colonne est traitée comme une ligne. Exécuter, passer.
Cependant, cette version semble trop chère et le temps d'exécution est trop lent. Mais après tout, je l'ai implémenté moi-même, vous pouvez donc vous rendre dans la zone de commentaires pour trouver d'autres idées. Ce qui suit est implémenté par le maître dans la zone de commentaire, mais je ne l'ai pas compris la première fois.
var transpose = function(A) { return Array.from({length:A[0].length},(_v,i)=>A.map(v=>v[i]))};复制代码
{length:A[0].length}, utilise la largeur de la matrice donnée comme longueur de la matrice transposée, afin de satisfaire la condition "d'un objet avec la Si vous souhaitez en savoir plus sur la programmation, faites attention à la rubriqueFormation php !
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!

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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

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

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Méthode : 1. Utilisez shift() pour supprimer le premier élément, la syntaxe est "array.shift()" ; 2. Utilisez pop() pour supprimer le dernier élément, la syntaxe est "array.pop()" ; Utilisez splice() pour supprimer des éléments à n'importe quelle position, la syntaxe est "array.splice(position, number)" 4. Utilisez length pour supprimer les N derniers éléments, la syntaxe est "array.length=original array length-N" ; ; 5. Attribuez directement le tableau vide "[ ]" pour effacer l'élément ; 6. Utilisez delete pour supprimer un élément à l'indice spécifié.

3 méthodes de conversion : 1. Utilisez split() pour diviser une chaîne donnée en un tableau de chaînes, la syntaxe est "str.split (séparateur, longueur maximale du tableau)" 2. Utilisez l'opérateur d'expansion "...", itérable ; objet chaîne, convertissez-le en tableau de caractères, la syntaxe "[...str]"; 3. Utilisez Array.from() pour convertir la chaîne en tableau, la syntaxe "Array.from(str)".

Le tableau js peut être converti en tableau php. La méthode d'opération est la suivante : 1. Créez un exemple de fichier php ; 2. Utilisez la syntaxe "JSON.stringify()" pour convertir le tableau js en une chaîne au format JSON ; Utilisez la syntaxe "json_decode()" "Convertissez la chaîne au format JSON en tableau PHP. Le paramètre true est ajouté ici, ce qui signifie que la chaîne au format JSON est convertie en tableau associatif PHP.

Obtenir la longueur d'un tableau en JS est très simple. Chaque tableau a une propriété de longueur, qui renvoie la longueur maximale du tableau, c'est-à-dire que sa valeur est égale à la valeur d'indice maximale plus 1. Puisque les indices numériques doivent être inférieurs à 2^32-1, la valeur maximale de l'attribut de longueur est égale à 2^32-1. Le code suivant définit un tableau vide, puis attribue une valeur à l'élément avec l'index égal à 100, puis la propriété length renvoie 101. Par conséquent, l’attribut length ne peut pas refléter le nombre réel d’éléments du tableau.

Il existe 4 façons de supprimer un élément d'un tableau js, à savoir : 1. Utilisez splice ; 2. Utilisez filter 3. Utilisez la méthode pop et shift ;

La méthode Array.prototype.sort() de JavaScript est utilisée pour trier les éléments d'un tableau. Cette méthode trie sur place, c'est-à-dire qu'elle modifie le tableau d'origine plutôt que de renvoyer un nouveau tableau trié. Par défaut, la méthode sort() trie les chaînes en fonction de leurs valeurs de points de code Unicode. Cela signifie qu'il est principalement utilisé pour trier des chaînes et des nombres, plutôt que pour trier des objets ou d'autres types de données complexes.

Les méthodes pour dédupliquer les tableaux js incluent l'utilisation de Set, l'utilisation d'indexOf, l'utilisation d'includes, l'utilisation de filter et l'utilisation de réduire. 1. Utilisez Set, qui se caractérise par le fait que les éléments de l'ensemble ne seront pas répétés ; 2. Utilisez indexOf pour renvoyer la première position d'index de l'élément spécifié dans le tableau. 3. Utilisez include pour déterminer si un élément est déjà présent ; existe dans le tableau 4. Utilisez filter pour filtrer les éléments; 5. Utilisez réduire pour compresser les éléments d'un tableau, etc.

En JavaScript, vous pouvez utiliser l'attribut length pour obtenir la longueur du tableau, la syntaxe est "array object.length" ; vous pouvez utiliser la fonction réduire() ou réduireRight() pour trouver la somme des éléments, la syntaxe est " arr.reduce(function f(pre,curr){ return pre+cur})" ou "arr.reduceRight(function f(pre,curr){return pre+cur})".
