Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 07.12.2018, 12:47
Аспирант
Отправить личное сообщение для Vlad777 Посмотреть профиль Найти все сообщения от Vlad777
 
Регистрация: 01.03.2018
Сообщений: 37

Файл лежит на сервере. Оригинал был Excel - сохранил в csv с помощью OpenOffice, в utf-8, т.к. сайт тоже в utf-8
Ответить с цитированием
  #22 (permalink)  
Старый 07.12.2018, 12:50
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

Накидал на коленке, попробуйте.
Если работает, останется только обработчики повесить.
new Promise(function(resolve, reject) {
    $.ajax({
        url: 'au.csv',
        dataType: 'text',
        success: resolve,
        error: reject
    });
}).then(function(response) {
    const CELL_DELIMITER = ',';

    return response.split(/\r?\n|\r/).map(function(row) {
        const cells = row.split(CELL_DELIMITER).map(function(value) {
            return (value || '').trim();
        });

        return {
            index: cells[0],
            fio: cells[1],
            inn: cells[2],
            score: cells[3] + ',' + cells[4],
            sro: cells[5]
        };
    });
}).then(function(data) {
    const getFirstChar = function(string) {
        return (string||'').substr(0, 1).toLowerCase();
    };

    const indexOfNames = {};
    data.forEach(function(person, key) {
        const firstChar = getFirstChar(person.fio);
        if(!firstChar)
            return;

        (indexOfNames[firstChar] || (indexOfNames[firstChar] = [])).push({
            name: person.fio,
            key: key
        });
    });

    return function(name) {
        name = name.toLowerCase();
        const firstChar = getFirstChar(name);
        if (!indexOfNames[firstChar])
            return [];

        const response = [];
        indexOfNames[firstChar].forEach(function(item) {
            if (item.name.indexOf(name) < 0)
                return;

            response.push(data[item.key]);
        });


        return response;
    };
}).then(function(search) {
    console.log(search('Прудников'));
});

Последний раз редактировалось Nexus, 07.12.2018 в 13:14.
Ответить с цитированием
  #23 (permalink)  
Старый 07.12.2018, 12:57
Аспирант
Отправить личное сообщение для Vlad777 Посмотреть профиль Найти все сообщения от Vlad777
 
Регистрация: 01.03.2018
Сообщений: 37

Nexus,
во-первых, спасибо за ответ!

Вот что в консоли пишет - Uncaught (in promise)
Object {readyState: 4, responseText: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">…was not found on this server.</p></body></html>", status: 404, statusText: "Not Found"}

помогите плиз, если не сложно!
что конкретно запрос не нашел?

и 2 вопрос, а как быть с однофамильцами? можно их как-нибудь тоже обработать для выдачи?

Последний раз редактировалось Vlad777, 07.12.2018 в 13:00.
Ответить с цитированием
  #24 (permalink)  
Старый 07.12.2018, 12:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Nexus, что-то слишком много
Ответить с цитированием
  #25 (permalink)  
Старый 07.12.2018, 13:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vlad777
Оригинал был Excel - сохранил в csv
И что сохраненный выглядит так как показано?
Ответить с цитированием
  #26 (permalink)  
Старый 07.12.2018, 13:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

Vlad777, написано же, что файл не найден.
Поправьте путь в строке 3.
Сообщение от laimas
Nexus, что-то слишком много
Чего много?

Сообщение от laimas
И что сохраненный выглядит так как показано?
Excel конвертирует в csv как попало.
Ответить с цитированием
  #27 (permalink)  
Старый 07.12.2018, 13:03
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

Сообщение от Vlad777
и 2 вопрос, а как быть с однофамильцами? можно их как-нибудь тоже обработать для выдачи?
Вы путь правильный укажите сначала, потому увидите, что с однофамильцами.
Ответить с цитированием
  #28 (permalink)  
Старый 07.12.2018, 13:03
Аспирант
Отправить личное сообщение для Vlad777 Посмотреть профиль Найти все сообщения от Vlad777
 
Регистрация: 01.03.2018
Сообщений: 37

Nexus,
так частично сам виноват, сорри, по факту файл чуть по другому называется..... еще раз сорри!
Но теперь пишет - Uncaught (in promise) TypeError: Cannot read property 'substr' of undefined(…)getFirstChar
Ответить с цитированием
  #29 (permalink)  
Старый 07.12.2018, 13:04
Аспирант
Отправить личное сообщение для Vlad777 Посмотреть профиль Найти все сообщения от Vlad777
 
Регистрация: 01.03.2018
Сообщений: 37

laimas,
да сохраненный файл открыл в нотепад++ - затем копи и вставил сюда
Ответить с цитированием
  #30 (permalink)  
Старый 07.12.2018, 13:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
Чего много?
Кода много

Сообщение от Nexus
Excel конвертирует в csv как попало.
Да с чего это вдруг?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста!!! igrovik Общие вопросы Javascript 40 10.04.2018 13:53
Помогите пожалуйста с тестом alex-chrono Общие вопросы Javascript 0 14.11.2012 19:23
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
Помогите пожалуйста я новичок! NemzevDanil Общие вопросы Javascript 3 02.02.2011 19:23
Помогите пожалуйста я новичок! NemzevDanil Элементы интерфейса 0 02.02.2011 00:00