Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 24.08.2021, 22:10
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Кстати, должны ли файлы «app.js» и «3.js» быть в UTF-8, или они по умолчанию в ANSI могут быть?
Ответить с цитированием
  #22 (permalink)  
Старый 24.08.2021, 23:14
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от hdma
требуется указывать «Б» как ты показал?
F={А:0,Б:23288,C:45163,D:77117 ...

Сообщение от hdma
но тоже не пошло
/\W/g так:
/[^А-Яа-яЁёA-Za-z0-9_]/g или /[^А-ЯЁA-Z0-9_]/ig или /[^А-ЯЁ\w]/ig

new RegExp("(\\W)"+i+"[\\.):]","ig") так:
new RegExp("([^А-ЯЁA-Z0-9_])"+i+"[\\.):]","ig") или new RegExp("([^А-ЯЁ\\w])"+i+"[\\.):]","ig")

Сообщение от hdma
быть в UTF-8
Да.

Последний раз редактировалось Rise, 24.08.2021 в 23:24.
Ответить с цитированием
  #23 (permalink)  
Старый 25.08.2021, 00:40
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Rise, зафурычило, спасибище!

Мне бы хотелось ещё один момент попробовать решить с вашей помощью — в отношении сохранения ударений в словах, которые бы при наборе не мешали поиску. Наверняка вы знаете такой символ ударения, который когда ставишь перед буквой — она делается ударной:
Акце́нт

Вот тут пример поиска как бы сквозь это ударение — то есть, при наборе букв ударение не мешает поиску. Возможно ли то же самое осуществить в разбираемом здесь коде — например, удалив этот символ ударения именно для поиска, но чтобы он оставался видимым на экране?
Ответить с цитированием
  #24 (permalink)  
Старый 25.08.2021, 07:02
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от hdma
символ ударения, который когда ставишь перед буквой
После буквы.
Сообщение от hdma
поиска как бы сквозь это ударение
Можно прокси сделать и удалять символ при чтении массива:
var N = ['aáa','cćc'];
N = new Proxy(N,{get(o,p){return(o.hasOwnProperty(p)&&p!='length')?o[p].replace('\u0301',''):o[p]}});
console.log(N[0], N[1], N[2], N.length);


Еще, не забыть, так как в Юникоде буква Ё находится вне диапазона А-Я , то надо немного переделать №6 и №8, т.е. если №4 будет выглядеть так, то:
//4
W="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ0"
//6
e.prototype.partitionIndexFinish=function(e){var i=this.normalizeLetter(e);return"Я"==i?F[0]:"0"==i?N.length:(i=W[W.indexOf(i)+1],F[i])}
//8
e.prototype.normalizeLetter=function(e){var i=e[0].toUpperCase();return i>="А"&&i<="Я"||i=='Ё'?i:"0"}

Последний раз редактировалось Rise, 25.08.2021 в 07:11.
Ответить с цитированием
  #25 (permalink)  
Старый 25.08.2021, 08:24
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Круто, спасибо! Только не удаётся правильно вписать строку с прокси. Пробовал вот так сразу после массива, а также ниже вписывать, через запятые и через точку запятой —

"-ways","-yl"],N = new Proxy(N,{get(o,p){return(o.hasOwnProperty(p)&&p!=' length')?o[p].replace('\u0301',''):o[p]}});console.log(N[0], N[1], N[2], N.length),F={А:0,Б:23288,
Ответить с цитированием
  #26 (permalink)  
Старый 25.08.2021, 08:36
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

hdma,
А это ;console.log(...) зачем?

Последний раз редактировалось Rise, 25.08.2021 в 08:41.
Ответить с цитированием
  #27 (permalink)  
Старый 25.08.2021, 12:36
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Rise,
Точно, консоль лишняя) Попробовал, но акцент не отображается — похоже, что replace('\u0301','') везде его затирает.
Ответить с цитированием
  #28 (permalink)  
Старый 25.08.2021, 12:38
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Вот так записал:

,"-ways","-yl"],N = new Proxy(N,{get(o,p){return(o.hasOwnProperty(p)&&p!=' length')?o[p].replace('\u0301',''):o[p]}}),F={А:0,Б:23288,C:45163,
Ответить с цитированием
  #29 (permalink)  
Старый 25.08.2021, 18:43
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от hdma
везде его затирает.
Да, так я неправильно сделал. Надо все места смотреть, где используется N, и решать в каждом конкретном случае надо делать sanitize или нет:
function sanitize(s){return s.replace('\u0301','')}

Просто так в этом моменте помочь не могу, так как это довольно трудозатратно.
Ответить с цитированием
  #30 (permalink)  
Старый 25.08.2021, 19:45
Аспирант
Отправить личное сообщение для hdma Посмотреть профиль Найти все сообщения от hdma
 
Регистрация: 28.05.2012
Сообщений: 85

Rise, я позже насчет этого обращусь, спасибо большое. Возник такой вопрос: возможно ли в этом приложении включить работу тегов, чтобы в файлах с определениями ими можно было обрамлять элементы и они соответственно отображались? Хотя бы курсив?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
ошибка в js коде timotheus Элементы интерфейса 3 23.05.2012 09:02
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Ошибка в коде Js, Неправильно работает скрипт. Julia Panatova Общие вопросы Javascript 1 19.01.2011 14:12
Ошибка в коде Js, Неправильно работает скрипт. Julia Panatova Общие вопросы Javascript 7 07.01.2011 13:41