Método 1: Defina o comprimento da matriz como 0;
const arr = [ 1, 2, 3, 4, 5 ];
arr.length = 0;
Consequência: este método não mudará a referência da matriz original. Isso significa que se você usar o operador de atribuição (=) para atribuir uma referência de array a outra referência de array, aplicar este método em um array também apagará a outra referência de array.
Método 2: Atribua uma referência à nova matriz;
let arr = [ 1, 2, 3, 4, 5 ];
arr = [];
Exemplo:
let hisArray = [ 'Some', 'thing' ];
let herArray = [ 'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info', ' ',
'blog', 'dot', 'green', 'roots', 'dot', 'info'
];
herArray = hisArray;
console.time('Approach 2: new assignment');
hisArray = [];
console.timeEnd('Approach 2: new assignment');
console.group('Approach 2: Empty array by assigning a new empty Array []')
console.log('hisArray =>', hisArray);
console.log('herArray =>', herArray);
console.groupEnd();
Resultado:
Approach 2: new assignment: 0.005ms
Approach 2: Empty array by assigning a new empty Array []
hisArray => []
herArray => [ 'Some', 'thing' ]
Consequência: o array original
hisArray
foi alterado, mas os outros valores do arrayherArray
permanecem inalterados.
Método 3: use pop () até o fim
let someArray = [ 'blog', 'dot', 'green', 'roots', 'dot', 'info'];
console.time('Approach 3: pop()');
while(someArray.length > 0) {
someArray.pop();
}
console.timeEnd('Approach 3: pop()');
console.group('Approach 3: Use pop until death');
console.log('someArray => ', someArray);
console.groupEnd();
Consequência: conforme o número de elementos na matriz aumenta, essa abordagem tornará as coisas muito lentas. Portanto, não use esse método ao lidar com grandes dados.