Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2021, 10:40
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

Вывести нужные данные из массива
Добрый день! создал массив данных из Exel файла:
/* set up XMLHttpRequest */
        var url = "datafile.xlsx";
        var oReq = new XMLHttpRequest();
        oReq.open("GET", url, true);
        oReq.responseType = "arraybuffer";

        oReq.onload = function(e) {
            var arraybuffer = oReq.response;

            /* convert data to binary string */
            var data = new Uint8Array(arraybuffer);
            var arr = new Array();
            for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
            var bstr = arr.join("");

            /* Call XLSX */
            var workbook = XLSX.read(bstr, {
                type: "binary"
            });

            /* DO SOMETHING WITH workbook HERE */
            var first_sheet_name = workbook.SheetNames[0];
            /* Get worksheet */
            var worksheet = workbook.Sheets[first_sheet_name];
            
            console.log(XLSX.utils.sheet_to_json(worksheet, {
                raw: true
            }));
        }

        oReq.send();


в консоли получаем такую картину:
https://prnt.sc/1ym6ero

Подскажите, как вывести данные по одному параметру, например "Порог сделок"?
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2021, 11:56
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Что значит "вывести"? Просто на консоль?
Можно так
console.log(XLSX.utils.sheet_to_json(worksheet).ma p(o => o['ПОРОГ СДЕЛОК']))
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2021, 12:22
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

Сообщение от voraa Посмотреть сообщение
Что значит "вывести"? Просто на консоль?
Можно так
console.log(XLSX.utils.sheet_to_json(worksheet).ma p(o => o['ПОРОГ СДЕЛОК']))
Спасибо, но вызывает ошибку..

Uncaught SyntaxError: missing ) after argument list
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2021, 12:24
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

там не полный вопрос, вывести где ПОРОГ СДЕЛОК - До 10
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2021, 12:55
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Сообщение от face2005
Спасибо, но вызывает ошибку..

Uncaught SyntaxError: missing ) after argument list
Я не знаю, почему это сайт иногда пробелы ставит, где ему вздумается. У меня в редакторе пробела нет
map должно быть без пробела

Сообщение от face2005
там не полный вопрос, вывести где ПОРОГ СДЕЛОК - До 10
Правильно заданный вопрос - половина ответа.
Уж спросите сразу все, что нужно.

console.log(XLSX.utils.sheet_to_json(worksheet).fi lter(o => o['ПОРОГ СДЕЛОК'] == 'до 10'))

И я не понимаю, почему этот гребанный сайт поставил пробел в filter !!!
Ответить с цитированием
  #6 (permalink)  
Старый 07.11.2021, 13:23
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

Сообщение от voraa Посмотреть сообщение
console.log(XLSX.utils.sheet_to_json(worksheet).fi lter(o => o['ПОРОГ СДЕЛОК'] == 'до 10'))
Круто, спасибо... Извините а вот по двум параметра я дописал, что-то не хавает.. наверное без стрелочной функции нужно?

console.log(XLSX.utils.sheet_to_json(worksheet).filter( 
            (porog, opf) => 
            (porog['СИСТЕМА НАЛОГООБЛОЖЕНИЯ'] == 'Единый налог • Группа 3', opf['ОПФ'] == 'ООО' )
            ));
Ответить с цитированием
  #7 (permalink)  
Старый 07.11.2021, 13:42
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Зачем параметры porog, opf?
Там должен быть просто параметр - элемент массива, тот самый объект у которого есть все это свойства
console.log(XLSX.utils.sheet_to_json(worksheet).filter(
            o =>  o['СИСТЕМА НАЛОГООБЛОЖЕНИЯ'] == 'Единый налог • Группа 3' && o['ОПФ'] == 'ООО'  ));
Ответить с цитированием
  #8 (permalink)  
Старый 07.11.2021, 14:10
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

Спасибо огромное! Удачи Вам!
Ответить с цитированием
  #9 (permalink)  
Старый 07.11.2021, 16:28
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

voraa, ну потому что код в соответствующий тег заключать надо, не бывает таких длинных слов, вот он и рубит чтоб не мусорил.)

face2005, если подключить lodash можно filter красивее делать:
console.log(_.filter(XLSX.utils.sheet_to_json(worksheet), {
  'СИСТЕМА НАЛОГООБЛОЖЕНИЯ': 'Единый налог • Группа 3',
  'ОПФ': 'ООО' 
}));
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 07.11.2021, 18:39
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

Сообщение от Aetae Посмотреть сообщение
если подключить lodash можно filter красивее делать
Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести введенные данные в форму на другой странице в таблицу посредством javascript MarynaZ Общие вопросы Javascript 4 09.10.2017 12:19
Форма с чекбоксом, как вывести данные в другой блок tatynechka jQuery 1 15.04.2015 15:15
Вытащить данные из массива Влад_имир jQuery 45 07.04.2015 22:33
Отобразить данные формы на другой странице Bumer Events/DOM/Window 10 02.04.2015 18:10
Как достать данные из JSON массива? Dimaz jQuery 15 27.11.2012 21:58