Как вывести уникальные элементы многомерного массива?

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

var pl_name = [
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
        ['Красноярский край, Березовка', [56.029293,93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
        ['Красноярский край, Березовка', [56.029293,93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
        ['Красноярский край, Березовка', [56.029293,93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
        ['Красноярский край, Березовка', [56.029293,93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Лукъяненко Сергей', 'Ночной дозор', '540'],
        ['Красноярский край, Солонцы', [56.0686,92.826718], 'Лукъяненко Сергей', 'Ночной дозор', '540']
    ];

Нужно, чтобы повторяющиеся элементы попали во второй массив только один раз. Вот так:

var places = [
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
        ['Красноярский край, Березовка', [56.029293,93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
        ['Красноярский край, Березовка', [56.029293,93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
        ['Красноярский край, Красноярск', [56.00473,92.827998], 'Лукъяненко Сергей', 'Ночной дозор', '540'],
        ['Красноярский край, Солонцы', [56.0686,92.826718], 'Лукъяненко Сергей', 'Ночной дозор', '540']
    ];

Ответы (2 шт):

Автор решения: Алексей Шиманский

Задача странная, но:

let pl_name = [
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Лукъяненко Сергей', 'Ночной дозор', '540'],
  ['Красноярский край, Солонцы', [56.0686, 92.826718], 'Лукъяненко Сергей', 'Ночной дозор', '540']
];

let result = [];

pl_name.forEach((el, index) => {
    let existsInResult = false;
  
    result.forEach(el2 => {
        if (el <= el2 && el >= el2)
            existsInResult = true;
    });
  
    if (!existsInResult)
        result.push(el);
});

console.log(result);

→ Ссылка
Автор решения: vsemozhebuty

Если порядок элементов постоянный и там только строки и числа, можно ещё так:

const pl_name = [
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Лукъяненко Сергей', 'Лабиринт отражений', '450'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Березовка', [56.029293, 93.11639], 'Джоан Роулинг', 'Гарри Поттер', '420'],
  ['Красноярский край, Красноярск', [56.00473, 92.827998], 'Лукъяненко Сергей', 'Ночной дозор', '540'],
  ['Красноярский край, Солонцы', [56.0686, 92.826718], 'Лукъяненко Сергей', 'Ночной дозор', '540']
];

const result = Array.from(
  new Set(pl_name.map(_ => JSON.stringify(_))),
  _ => JSON.parse(_),
);

console.log(result);

→ Ссылка