array.ahk Apresentação Especial (v1)

Compartilhe seus scripts, funções, ferramentas e programas

Moderator: Gio

User avatar
Chunjee
Posts: 1422
Joined: 18 Apr 2014, 19:05
Contact:

array.ahk Apresentação Especial (v1)

22 Feb 2024, 11:23

array.ahk
Image Image Image Image


Conversão de métodos Array de JavaScript para AutoHotkey
AutoHotkey não possui métodos auxiliares de iteração integrados (a partir de 1.1.33) para executar muitos dos comportamentos comuns de array encontrados em outras linguagens.


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

Instalação

Code: Select all

#Include array.ahk\export.ahk

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

Uso

array.<fn>([params*])

Code: Select all

; Mapear para valor duplicado
arrayInt := [1, 5, 10]
arrayInt.map(func("fn_doubleInt"))
; => [2, 10, 20]

fn_doubleInt(int) {
	return int * 2
}


; Mapear para propriedade do objeto
arrayObj := [{"name": "bob", "age": 22}, {"name": "tom", "age": 51}]
arrayObj.map(func("fn_returnName"))
; => ["bob", "tom"]

fn_returnName(obj) {
	return obj.name
}


; Encadeamento de métodos
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]
}

Ordenação

JavaScript não expõe parâmetros de início/fim ou esquerda/direita e nem essa classificação.

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]


Achei que seria divertido traduzir a página de documentação. Acabou sendo muito mais trabalhoso do que o previsto originalmente; mas agora está pronto!
Por favor, faça qualquer pull request para /docs/translations.csv se você encontrar um erro ou área para melhoria

Return to “Scripts e Funções”

Who is online

Users browsing this forum: No registered users and 46 guests