Conversión de métodos Array de JavaScript a AutoHotkey
AutoHotkey carece de métodos auxiliares de iteración integrados (a partir de 1.1.33) para realizar muchos de los comportamientos de matrices comunes que se encuentran en otros lenguajes.
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
Instalación
Code: Select all
#Include array.ahk\export.ahk
msgbox, % [1,2,3].join()
; => "1,2,3"
Uso
array.<fn>([params*])
Code: Select all
; Mapa al valor duplicado
arrayInt := [1, 5, 10]
arrayInt.map(func("fn_doubleInt"))
; => [2, 10, 20]
fn_doubleInt(int) {
return int * 2
}
; Asignar a propiedad de objeto
arrayObj := [{"name": "bob", "age": 22}, {"name": "tom", "age": 51}]
arrayObj.map(func("fn_returnName"))
; => ["bob", "tom"]
fn_returnName(obj) {
return obj.name
}
; Encadenamiento 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]
}
Clasificación
JavaScript no expone los parámetros de inicio/fin o izquierda/derecha y tampoco este tipo.
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]
Pensé que sería divertido traducir la página de documentación. Terminó siendo mucho más trabajo de lo previsto, ¡pero ya está hecho!
Por favor, haz cualquier pull request a /docs/translations.csv si detectas algún error o área de mejora.