let Map = Array.prototype.map let strResult = Map.call("Muhammad asif", (x) => { return x.charCodeAt(0); }) console.log(strResult)¿Cuál es la relación entre llamada y mapa y cómo es su proceso? ¿Por qué se usa aquí charCodeAt(0)?
- ¿Cuál es la relación entre
callymap?
map es una función. call también a una función.map es parte del objeto Array , y call es parte del objeto Function .map en una matriz. Por ejemplo: [1, 2, 3].map() ,call en una función. Por ejemplo: myFunction.call()
- ¿Cómo es su proceso?
Array.prototype.map es una función que pones en una variable llamada Map . No puede usarlo simplemente como una función normal, porque está diseñado para usarse con una matriz. Puedes usarlo así:
const myArray = [1, 2, 3] myArray.Map = Map // put your `Map` variable into a real array myArray.Map(number => console.log(number))O
Map.call("your array or iterable things goes here", (itemInArray) => {console.log(itemInArray)}); /* first parameter of `call` will be used as `this`. `this` in `Array.prototype.map` means an array. CMIIW */Que es lo mismo que:
const myString = "your array or iterable things goes here" for(let index = 0; index < myString.length; index++){ const itemInArray = myString[index] console.log(itemInArray) }
- ¿Por qué se usa aquí
charCodeAt(0)?
No sé. Ese es tu código, y el que debe responder a esta pregunta eres tú mismo. charCodeAt no es una función requerida para el map o la call a obras. FYI, charCodeAt también es una función que devuelve un número entero entre 0 y 65535 que representa la unidad de código UTF-16 en el índice dado . Asi que,
"abc".charCodeAt(0) // will show UTF-16 representation of the 0th character of "abc" "abc".charCodeAt(1) // will show UTF-16 representation of the 1st character of "abc" "abc".charCodeAt(2) // will show UTF-16 representation of the 2nd character of "abc"Aquí puede encontrar alguna explicación https://forum.freecodecamp.org/t/explain-array-prototype-map-call/165936/7
Con este enfoque, puede usar la función de map en una cadena como si fuera una matriz.
charCodeAt es la función llamada en cada elemento de la cadena dada. Devuelve la representación Unicode (un número) del carácter pasado. Puede pasar cualquier otra función de aceptación de cadenas en su lugar.
Por ejemplo:
let Map = Array.prototype.map let strResult = Map.call("Muhammad asif", (x) => { return x + x }); console.log(strResult)resultará con ["MM", "uu", "hh", "aa", "mm", "mm", "aa", "dd", " ", "aa", "ss", "ii" , "ff"]