array.ahk Présentation Spéciale (v1)

Partager vos scripts et fonctions intéressantes
User avatar
Chunjee
Posts: 1422
Joined: 18 Apr 2014, 19:05
Contact:

array.ahk Présentation Spéciale (v1)

22 Feb 2024, 11:22

array.ahk
Image Image Image Image


Conversion des méthodes Array de JavaScript en AutoHotkey
AutoHotkey ne dispose pas de méthodes d'aide à l'itération intégrées (à partir de la version 1.1.33) pour exécuter de nombreux comportements de tableau courants trouvés dans d'autres langages.


Méthodes portées
  • concat
  • every
  • fill
  • filter
  • find
  • findIndex
  • forEach
  • includes
  • indexOf
  • join
  • lastIndexOf
  • map
  • reduce
  • reduceRight
  • reverse
  • shift
  • slice
  • some
  • sort
  • splice
  • toString
  • unshift

Installation

Code: Select all

#Include array.ahk\export.ahk

msgbox, % [1,2,3].join()
; => "1,2,3"

Usage

array.<fn>([params*])

Code: Select all

; Mapper à la valeur doublée
arrayInt := [1, 5, 10]
arrayInt.map(func("fn_doubleInt"))
; => [2, 10, 20]

fn_doubleInt(int) {
	return int * 2
}


; Mapper à la propriété de l'objet
arrayObj := [{"name": "bob", "age": 22}, {"name": "tom", "age": 51}]
arrayObj.map(func("fn_returnName"))
; => ["bob", "tom"]

fn_returnName(obj) {
	return obj.name
}


; Chaînage de méthodes
arrayObj := [{"name": "bob", "age": 22}, {"name": "tom", "age": 51}]
msgbox, % arrayObj.map(func("fn_returnProp").bind("age"))
	.map(func("fn_doubleInt"))
	.join(",")
; => "44,102"

fn_returnProp(prop, obj) {
	return obj[prop]
}

Tri

JavaScript n'expose pas les paramètres début/fin ou gauche/droite et ce tri non plus.

array.sort([params*])

Code: Select all

arrayInt := [11,9,5,10,1,6,3,4,7,8,2]
arrayInt.sort()
; => [1,2,3,4,5,6,7,8,9,10,11]


J'ai pensé qu'il serait amusant de traduire la page de documentation. Cela a fini par représenter beaucoup plus de travail que prévu, mais c'est maintenant fait !
N'hésitez pas à faire des pull requests à /docs/translations.csv si vous repérez une erreur ou un point à améliorer.

Return to “Scripts et Fonctions”

Who is online

Users browsing this forum: No registered users and 59 guests