Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 14.04.2013, 04:06
Интересующийся
Отправить личное сообщение для dastingo Посмотреть профиль Найти все сообщения от dastingo
 
Регистрация: 30.01.2013
Сообщений: 29

Ervin,
возможно)
на всяких "D=13123&D=13123&A=1111&D=13123&D=13123&B=2222&D=1 3123&C=3333&D=13123&D=13123"
ничего подводного не возникало.
Ответить с цитированием
  #22 (permalink)  
Старый 14.04.2013, 13:49
Аспирант
Отправить личное сообщение для Ervin Посмотреть профиль Найти все сообщения от Ervin
 
Регистрация: 19.03.2013
Сообщений: 84

var str = "D=13123&D=13123&A=1111&D=13123&D=13123&B=2222&D=1 3123&C=3333&D=13123&D=13123",
     strArray = str.split("&"),
     toRemove = ["D=", "B=", "C="];

for(var i = 0; i < strArray.length; i++) {
  for(var n = 0, lengN = toRemove.length; n < lengN; n++) {
      if(~strArray[i].indexOf(toRemove[n])) {
           strArray.splice(i, 1);
           i--;
      }
  }
}


В первый же проверки удаляется первый элемент массива, после чего происходит проверка следующего элемента из массива toRemove, где strArray[-1] === undefined -> TypeError.
Ответить с цитированием
  #23 (permalink)  
Старый 14.04.2013, 14:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Нормальные люди перебирают с конца и не изобретают велосипед.
__________________
29375, 35
Ответить с цитированием
  #24 (permalink)  
Старый 14.04.2013, 14:46
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Цитата:
Нормальные люди перебирают с конца и не изобретают велосипед.
Aetae. Чем, в данном варианте, перебор с конца, отличается от перебора с начала? Просвятите пожалуйста. В данном варианте, я разницы не наблюдаю.
Ответить с цитированием
  #25 (permalink)  
Старый 14.04.2013, 15:43
Аспирант
Отправить личное сообщение для Ervin Посмотреть профиль Найти все сообщения от Ervin
 
Регистрация: 19.03.2013
Сообщений: 84

Сообщение от Aetae Посмотреть сообщение
Нормальные люди перебирают с конца и не изобретают велосипед.
Тоесть единая истина это перебор с конца ? )) Вздор, это лично ваши предпочтения.
Ответить с цитированием
  #26 (permalink)  
Старый 14.04.2013, 22:12
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Сообщение от 1lider Посмотреть сообщение
Aetae. Чем, в данном варианте, перебор с конца, отличается от перебора с начала? Просвятите пожалуйста. В данном варианте, я разницы не наблюдаю.
var str = "D=13123&D=13123&A=1111&D=13123&D=13123&B=2222&D=1 3123&C=3333&D=13123&D=13123",
    strArray = str.split("&"),
    i = strArray.length,
    toRemove = ["D=", "B=", "C="];

while(i--) {
    for(var l = toRemove.length; l--;) {
        if(~strArray[i].indexOf(toRemove[l])){
            strArray.splice(i, 1);
            break;
        }
    }
}
alert(strArray.join('\n'))

Сообщение от Ervin Посмотреть сообщение
Тоесть единая истина это перебор с конца ? )) Вздор, это лично ваши предпочтения.
По большей части да - мои предпочтения. Но не на пустом месте:
1. Запись лаконичнее.
2. Перебор часто используется совместно c удалением\изменением элементов как массивов так и dom и при обратном переборе вообще не надо задумываться об изменениях длины и прочего.(пример прямо сверху).
3. Тесты некогда показали, что обратный перебор dom немного быстрее. Как сейчас в принципе не важно уже.)
4. ...
5. Profit!
__________________
29375, 35
Ответить с цитированием
  #27 (permalink)  
Старый 14.04.2013, 22:40
Интересующийся
Отправить личное сообщение для dastingo Посмотреть профиль Найти все сообщения от dastingo
 
Регистрация: 30.01.2013
Сообщений: 29

Ervin,
ну понятно - просто говорили о разном. я в своих экспериментах отбрасывал не только break, но и i--.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Профессиональный поиск по массиву RazZzeR Элементы интерфейса 14 10.06.2012 13:07
Поиск по многомерному массиву Ultimatum Общие вопросы Javascript 12 20.11.2011 14:53
поиск по массиву zebulun Общие вопросы Javascript 4 02.09.2011 02:09
Поиск в тексте javascript jQuery 3 31.05.2011 11:40
PagingToolbar и поиск DenQ ExtJS 5 02.11.2010 00:16