Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.01.2022, 20:48
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

Я бы сделал с помощью библиотеки lodash:
zip(...chunk(arr, 3));
Руками же это делается как-то так:
function spread(arr, count = 3) {
  const result = Array.from({length: count}, () => []);
  
  for(let i = 0; i < arr.length;) {
    for(let j = 0; j < count; j++) {
      result[j].push(arr[i++]);
    }
  }
  
  return result;
}
__________________
29375, 35
Ответить с цитированием
  #12 (permalink)  
Старый 05.01.2022, 23:43
Кандидат Javascript-наук
Отправить личное сообщение для Katy93 Посмотреть профиль Найти все сообщения от Katy93
 
Регистрация: 28.12.2018
Сообщений: 137

ksa, да работает.
let text = req.responseText // Текст содержащий много строк
            let lines = text.split('\n') // Массив каждый элемент - отдельная строка
            let num;
            const arr1 = []

            for(var i = 0; i < lines.length; i++)
            {
                const j = i % 3
                const k = Math.trunc(i / 3)

                num = +lines[i];
                num = toFixed(num);
                //console.log(num);
                if (!arr1[j]) arr1[j] = [];
                arr1[j][k] = num;


            }
           //var arr = JSON.stringify(b, null, ' ');
            var a = arr1[0];
            var b = arr1[1];
            var c = arr1[2];
Ответить с цитированием
  #13 (permalink)  
Старый 06.01.2022, 16:28
Кандидат Javascript-наук
Отправить личное сообщение для Katy93 Посмотреть профиль Найти все сообщения от Katy93
 
Регистрация: 28.12.2018
Сообщений: 137

Rise, сейчас пытаюсь использовать современную загрузку файла. В итоге у меня не получается загрузить документ. Вот пример кода:
function LoadFromFile()
    {
     
      let response = async function loadCities() {
        const response = await fetch(
          'https://aperesso.github.io/low_poly_room/room.json'
        );
        const cities = await response.json();
        console.log(cities);
      }
      loadCities().catch((err) => {
        console.log('Ошибка! ', err);
      });

    }

Выдает ошибку: loadCities is not defined
Ответить с цитированием
  #14 (permalink)  
Старый 06.01.2022, 16:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от Katy93
let response =
это сотрите
Ответить с цитированием
  #15 (permalink)  
Старый 06.01.2022, 17:19
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Katy93,
Здесь можешь посмотреть как ошибки обрабатывать. По твоему адресу запроса будет ошибка, потому что нужны разрешения.
Ответить с цитированием
  #16 (permalink)  
Старый 07.01.2022, 16:45
Кандидат Javascript-наук
Отправить личное сообщение для Katy93 Посмотреть профиль Найти все сообщения от Katy93
 
Регистрация: 28.12.2018
Сообщений: 137

Цитата:
Rise, Да, но синхронный запрос блокирует страницу, такие запросы сейчас не актуальны. У вас просто устаревший пример кода, актуальные примеры можно найти
Современный пример у меня не работает, поэтому буду пользоваться устаревшим.
function LoadFromFile(FileName){
      var req = new XMLHttpRequest();
      var data = "1";
      req.open("GET", FileName);
     
      req.onreadystatechange = function() {
        
        if(req.readyState===4){
         
          if(req.status===200){
            
            let text = req.responseText // Текст содержащий много строк
            let lines = text.split('\n') // Массив каждый элемент - отдельная строка
            let num;
            for(var i = 0; i < lines.length; i++)
            {
                num = toFixed(lines[i]);
                console.log(num);
            }

          }
        }
      }
      try
      {
         req.send(null);
      }
      catch (e)
      {
         alert(e.message);
      }
      
    }

Он по крайне мере нормально запускается во всех браузерах. До этого я уже изучила достаточно объемный материал по JS и сейчас просто времени нет, чтобы разбираться в современных примерах получения данных из текстовых документов.
Ответить с цитированием
  #17 (permalink)  
Старый 07.01.2022, 21:06
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Сообщение от Katy93
Современный пример у меня не работает
рони же написал, как поправить. Всё работает.
Ответить с цитированием
  #18 (permalink)  
Старый 08.01.2022, 21:45
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Katy93,
Я не имел ввиду промисы, xhr тоже подойдёт, с onload и onerror, просто твой пример ошибки не ловит, держу в курсе, если пофигу, то ок.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ли в js понятие частоты кадров, наподобие как во флэше? andrew_F Общие вопросы Javascript 8 01.05.2012 20:25
Как обойти base href, чтобы ссылка на внешн. js была локальной? Andrej_2 Общие вопросы Javascript 2 18.11.2011 11:25
Как объяснить JS, что некая строка это название имеющегося объекта? DimonCry Общие вопросы Javascript 15 07.01.2011 23:43
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 20:18
Подскажите, пжлст, как вывести в тот же документ результат ф-ции? LexXxeL Элементы интерфейса 4 13.05.2009 13:26