Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2015, 00:18
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

стоит ли использовать миксины для оптимизации
пишу модуль для ангуляра, у меня есть массив, который должен фильтроватся, если брать стандартный подход ангуляра, то это при каждом дайджесте нужно проверять массив на изменения, но если массив большой то явно будет что то медленное.
1. аля ангуляр, вышел описал.

2. Я думаю использовать миксины и отслеживать изменения, тогда элементы буду фильроватся при изменение массива, стоит ли использовать такой подход или меня жду большие грабли?
( что то такое https://github.com/yyx990803/vue/blo...erver/array.js )

3. Реализовать свой класс, который имеет основные методы типо push, splice, insert ( index, val ), change вызывается что бы проверить на изменения базовый массив и отфильровать элементы.

Что скажиете по этому поводу, а то я топчусь на месте не хочу выстрелить в ногу ?

поправьте кто-то название темы на "стоит ли использовать миксины для оптимизации"

Последний раз редактировалось cyber, 09.08.2015 в 00:43.
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2015, 00:57
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
стоит ли использовать максины
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 09.08.2015 в 01:00.
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2015, 01:04
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

l-liava-l,
Сообщение от cyber
поправьте кто-то название темы на "стоит ли использовать миксины для оптимизации"
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2015, 01:22
Профессор
Посмотреть профиль Найти все сообщения от javaQest
 
Регистрация: 07.08.2015
Сообщений: 154

Сообщение от cyber
отслеживать изменения, тогда элементы буду фильроватся при изменение массива, стоит ли использовать такой подход или меня жду большие грабли?
Это стандартный подход в таких ситуациях, только не совсем понятно, причем тут миксины. При грамотном подходе никаких граблей тут нет.
Ответить с цитированием
  #5 (permalink)  
Старый 09.08.2015, 01:29
Профессор
Посмотреть профиль Найти все сообщения от javaQest
 
Регистрация: 07.08.2015
Сообщений: 154

Сообщение от cyber
Реализовать свой класс, который имеет основные методы типо push, splice, insert ( index, val ), change вызывается что бы проверить на изменения базовый массив и отфильровать элементы.
Так и нужно делать, это не противоречит второму пункту, только фильтр должен вызываться при каждом изменении, то есть, внутри push slice и т.д. (если нужна проверка, конечно)

UPD фильтруются только входные данные, весь массив проверять не надо каждый раз, само-собой, так как туда уже ничего лишнего не попадет по-определению.

Последний раз редактировалось javaQest, 09.08.2015 в 01:52.
Ответить с цитированием
  #6 (permalink)  
Старый 09.08.2015, 01:42
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
у меня есть массив, который должен фильтроватся, если брать стандартный подход ангуляра, то это при каждом дайджесте нужно проверять массив на изменения, но если массив большой то явно будет что то медленное.
На самом деле нет, если у массива до 2000 элементов то я бы даже не заморачивался. (если ты канеш не ng-repeat-ом выводишь)

Цитата:
3. Реализовать свой класс, который имеет основные методы типо push, splice, insert ( index, val ), change вызывается что бы проверить на изменения базовый массив и отфильровать элементы.
А если изменишь важный для фильтрации параметр в одном из элементов массива то такой подход не отработает.

Если прям уж хоочется фильтровать по флагу то напиши фильтр-обертку над $filter и пусть он не массив сверят а флаг который ты ему скормишь
__________________
Научу себя плохому
Ответить с цитированием
  #7 (permalink)  
Старый 09.08.2015, 02:10
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от l-liava-l
А если изменишь важный для фильтрации параметр в одном из элементов массива то такой подход не отработает.
Хм, ты прав
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 09.08.2015 в 02:53.
Ответить с цитированием
  #8 (permalink)  
Старый 09.08.2015, 02:14
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от javaQest
Так и нужно делать, это не противоречит второму пункту, только фильтр должен вызываться при каждом изменении, то есть, внутри push slice и т.д. (если нужна проверка, конечно)
Я имел ввиду, что не выстрелю ли я себе в ногу при таком подходе, это понятно что нужно совмещать
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #9 (permalink)  
Старый 09.08.2015, 02:19
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от l-liava-l
Если прям уж хоочется фильтровать по флагу то напиши фильтр-обертку над $filter и пусть он не массив сверят а флаг который ты ему скормишь
мне нужно что то типо есть массив фильтров, мы проходимся по базовому массиву и каждый элемент прогоняем через фильтры все что прошло через фильтры попадает в view
var keys = Object.keys( this.filters );
                this._viewList = [];

                this.sourceList.forEach( function ( item ) {

                    if( keys.every( function ( i ) {
                        return this.sourceList [ keys [ i ] ] ();
                    }, this ) ) {
                        this._viewList.push ( item );
                    }

                }, this );
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 09.08.2015 в 02:53.
Ответить с цитированием
  #10 (permalink)  
Старый 09.08.2015, 02:54
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

l-liava-l
Сообщение от l-liava-l
На самом деле нет, если у массива до 2000 элементов то я бы даже не заморачивался. (если ты канеш не ng-repeat-ом выводишь)
им и вывожу, поэтому хочу отдавать ему отфильтрованный массив который просто нужно отрисовать и в массиве может быть больше 2к элементов
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 09.08.2015 в 02:57.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стоит ли делать сайт для маленького города alexus Оффтопик 10 15.01.2018 11:49
Фреймворк для разработки расширений для Chrome chernikov Библиотеки/Тулкиты/Фреймворки 0 05.03.2012 17:51
HTA-приложение для радио Pianorama Magneto Ваши сайты и скрипты 42 22.01.2012 08:34
http://gigalit.info - Мои контакты Маэстро Ваши сайты и скрипты 70 08.12.2011 03:12
стоит ли использовать Perl mycoding Серверные языки и технологии 9 12.10.2010 15:33