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

    Не совсем понятна логика преобразования числовых массивов. Если со строками понятно, то с числами по условию какой-то чёрный ящик получается.

    const source = ['Яблоко', 'Банан', 'Груша', 'Груша', 'Яблоко', 'Яблоко', 'Банан'];
    
    const mix_source = [
      ['Яблоко', 'Банан', 'Груша', 'Груша', 'Яблоко', 'Яблоко', 'Банан'],
      [33, 22, 3331, 234, 3234],
    ];
    
    // Функция для обработки строковых массивов
    const clearStringArray = (arr) => {
    	const clear_arr = [];
    
    	arr.forEach((arr_item) => {
    		if(clear_arr.indexOf(arr_item) === -1) {
    	  	clear_arr.push(arr_item);
    	  }
    	});
      
      return clear_arr;
    }
    
    // Функция для обработки числовых массивов
    const clearNumberArray = (arr) => {
      // ...
      return arr;
    }
    
    // Функция для обработки сложного массива
    const clearMixArray = (arr) => {
    	return mix_source.map((mix_item) => {
        const is_array = Array.isArray(mix_item);
        const array_have_first_element = typeof mix_item[0] !== undefined;
        const first_element_type = typeof mix_item[0];
    
        if (is_array && array_have_first_element) {
          switch(first_element_type) {
            case "string": return clearStringArray(mix_item);
            case "number": return clearNumberArray(mix_item);
          }
        }
      });
    }
    
    // Пример обработки строкового массива
    console.log(clearStringArray(source));
    //(3) ["Яблоко", "Банан", "Груша"]
    
    console.log(clearMixArray(mix_source));
    /*
    	0: (3) ["Яблоко", "Банан", "Груша"]
    	1: (5) [33, 22, 3331, 234, 3234]
    	length: 2
    */
    Ответ написан
    Комментировать
  • Программное решение для упорядочивания жизни?

    А Я пришёл к выводу, что нужно самому под себя потихоньку и по капелькам создавать инструментарий :) вся информация полезна, но для определенных сфер.
    Поддерживаю записывание. Для меня это прекрасный способ усваивать и записывать в долговременную память информацию, тем более во время записывания возникают идеи структурирования информации.

    Так как Я кодер. то мне легко рассуждать о создании своего инструментария в виде приложения, но Я так же безоговорочный фанат бумаги и книг, поэтому могу с уверенностью сказать, что без каких-либо программ можно пропыхтеть над своей версией органайзера физического мира :)
    У меня дома куча различных каталогов журналов и книг (оплачиваемая информация - полезная информация), а так же блокнотов для ведения разных записей - вся эта деятельность очень интересна.

    Я бы не начинал разработку каких-то своих инструментов, если бы не был ленивым программистом. Уже потихоньку набираю возраст и таскать с собой кучу блокнотов - очень. дикая. лень :-D

    По поводу забывания информации - выше говорили что нужно забывать ненужную информацию и т.п., но Я пришёл к такому выводу - чтобы не нужно было забывать что-то ненужное, нужно не усваивать что-то ненужное. Процесс отсеивания ненужной информации также занимает кучу мозговых ресурсов, поэтому, Я очень с трепетом отношусь к своему информационному полю и стараюсь выделять время для планирования и выработки рефлексов не допускающих анализ информации без смысла - comedy club (Мне уже жаль, что просто о них знаю), новости на первом и т.д. и т.п.

    Успехов в этом поприще и добро пожаловать в Мiръ Золотого характера (см. Золотые стихи Пифагора) :)

    6bc78fdc3ad22f384b87b7b78eb8a3eb--samos-
    Ответ написан
  • Как правильно расположить блоки в две колонки?

    Товарищи, вы вообще что ли издеваетесь? Для кого вообще flex делали?!

    <div class="parent">
      <div></div>
      <div></div>
    </div>

    .parent{display: flex}
    Ответ написан
    Комментировать
  • Можно ли получить содержимое SVG через getSVGDocument?

    document.getElementById('svg').getSVGDocument() :)
    Упустил скобки для вызова функции.
    А так же советую отслеживать загрузку самого файла, т.к. файл можете еще не загрузится а ты его просишь сообщить контент:
    document.getElementById('svg').addEventListener('load' , function(){
    console.log('Вот теперь данные загрузились');
    })
    Ответ написан
    Комментировать
  • Кодировка, везде utf-8, в бд - кракозябры, что делать ?

    Помню тоже была такая проблема. А всё произошло из-за того, что один скриптик подключенный был не в кодировке utf-8. Проверь кодировки своих скриптов, может быть проблема и в клиентской части, т.е. данные приходят уже в неправильной кодировке.
    Так же посоветую добавить htaccess:
    AddDefaultCharset UTF-8

    Я сейчас как параноик, слежу чтобы всёёёёё было в utf-8 :-)
    Ответ написан
    Комментировать
  • Как реализовать онлайн обновления счетчиков уведомлений?

    С этой задачей отлично справятся сокеты + nodejs. Запусти отдельный сервер на nodejs, который отлавливает обновление счетчика и рассылает их подключенным соединениям :-)
    Отличные видео уроки по nodejs, в самом низу организован чат с помощью сокетов.
    http://learn.javascript.ru/nodejs-screencast#часть...

    По крайней мере, я бы так организовал даную фичу :-)
    Шикарного кода!
    Ответ написан
    Комментировать