Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
Matriz de JavaScript fuera de los límites de funciones

en javascript cuando un índice está fuera de los límites de la matriz, se amplía con indefinidos.

¿Hay llamadas de función detrás de escena?

Por ejemplo:

 var w = [] for (i = 0; i < 10; i++) { w[(i << 4) + 15] = i }

Estoy probando algunos ejercicios de envenenamiento de prototipos y noté que se usa una matriz con índices fuera de sus límites, por lo que espero modificar las funciones relacionadas con esto si es posible.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede anular Array.prototype de esta manera:

¡NOTA los límites en el bucle for!

 for (let i = -1000; i < 1000; i++) { Object.defineProperty(Array.prototype, i, { get() { if (this[`_${i}`] === undefined) return 'No value'; // or throw new Error('No value'); return this[`_${i}`]; }, set(v) { return this[`_${i}`] = v; }, }); } const arr = []; console.log(arr[1]); // No value arr[1] = 'I have a value'; // set value console.log(arr[1]); // get the value 'I have a value' console.log(arr[-1]); // No value console.log(arr[-100]); // No value console.log(arr[0]); // No value console.log(arr[100]); // No value console.log(arr[10000]); // undefined (because of the limits are -1000 to 1000)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes usar Proxy :

 const arr = new Proxy([], { get(target, property) { return target[property]; }, set(target, property, value) { // do your work here ... for example: print some values: console.log('oldValue=', target[property]); console.log('newValue=', value); console.log('index=', property); // set the new value - default behaviour target[property] = value; // Return true if successful. In strict mode, returning false will throw a TypeError exception. return true; }, }); arr[3] = 'https://sidanmor.com/';

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda