• Как отправить несколько файлов по websocket?

    @zkrvndm
    Софт для автоматизации
    Насколько я знаю по сокетам можно гнать только текст, вам нужно преобразовать файл в base64 и уже его отправлять. Если данный вариант не устраивает, то тогда отправляйте файл обычным POST-запросом на сервер, чтобы ваш сервер полученные файлы складывал в какую-то папку и отдавал в ответ путь до этого файла. Далее, после загрузки файла в папку просто передаете по сокету путь до файла.
    Ответ написан
    2 комментария
  • Почему set PATH не работает?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    setx /M PATH "%PATH%;C:\Windows\twain_32\CNQL25"
    for /f "usebackq tokens=2,*" %A in (`reg query HKCU\Environment /v PATH`) do set save_temp_path=%B
    setx PATH "%save_temp_path%;C:\Windows\twain_32\CNQL25"
    Ответ написан
    8 комментариев
  • Как удалить объект в многомерном массиве на основе значения ключа?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Функция принимает массив и функцию (типа как встроенные методы массива - map, filter, some и т.д.), принимающую элемент массива и возвращающую true в случае, если элемент должен быть удалён. Если элемент удалять не надо, то следует обработать массив вложенных элементов - выполняется рекурсивный вызов. Как это может выглядеть:

    function deleteNested(arr, fn) {
      arr?.reduceRight?.((_, n, i, a) =>
        fn(n, i, a)
          ? a.splice(i, 1)
          : deleteNested(n.children, fn)
      , null);
    }

    или

    function deleteNested(arr, fn) {
      if (Array.isArray(arr)) {
        arr.splice(0, arr.length, ...arr.filter((n, i, a) => {
          return !fn(n, i, a) && (deleteNested(n.children, fn), true);
        }));
      }
    }

    или

    function deleteNested(arr, fn) {
      if (arr instanceof Array) {
        let numDeleted = 0;
    
        for (let i = 0; i < arr.length; i++) {
          if (fn(arr[i], i, arr)) {
            numDeleted++;
          } else {
            arr[i - numDeleted] = arr[i];
            deleteNested(arr[i].children, fn);
          }
        }
    
        arr.length -= numDeleted;
      }
    }

    Использовать так:

    deleteNested(itemsData, n => n.id === id_объекта_который_надо_удалить);
    Ответ написан
    1 комментарий