JavaScript | Как удалить массив из массива?

JavaScript | Как удалить массив из массива?

Есть оригинальный массив с массивами внутри:

var massiv = [1, 2, [3, 3], [4, 4], 5, 6]

Как удалить массивы [3, 3] и [4, 4]?

Мы можем отфильтровать элементы оригинального массива и вернуть новый массив, в котором не будет массивов.

massiv.filter(i => i.constructor.name != "Array")

[1, 2, 5, 6]

Результат работы фильтрации

Удалили массивы из массива - JavaScript
Удалили массивы из массива — JavaScript

Если элементом оригинального массива является массив, то мы его не возвращаем. В результате у нас останется массив, в котором не будет других массивов на одном уровне.

 

Функция удаления массивов в массиве

Напишем функцию:

function delArr(arr){
   return arr.filter(i => i.constructor.name != "Array");
}

Свой метод удаления массивов в массиве

Напишем свой метод для объектов-прототипов Array:

Array.prototype.clearArr = function(){
   return this.filter(i => i.constructor.name != "Array");
}

 

Информационные ссылки

JavaScript | Массивы (Array)

Стандарт ECMAScript — Раздел «23.1.3.7 Array.prototype.filter ( callbackfn [ , thisArg ] )» — https://tc39.es/ecma262/#sec-array.prototype.filter