Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2014, 13:42
Новичок на форуме
Отправить личное сообщение для Gomonoff Посмотреть профиль Найти все сообщения от Gomonoff
 
Регистрация: 08.09.2014
Сообщений: 5

Поиск переменных по вхождению определённой строки в их название.
Возможно ли найти переменные по вхождению определённой строки в её название.
Например:
var qwe_1 = 1;
var qwe_2 = 2;
var qwe_n = n;
var rty_45 = 45;

Надо выбрать переменные, которые начинаются на qwe
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2014, 13:48
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

var obj = {

   qwe_1: 1,
   qwe_2: 2,
   qwe_n: "n",
   rty_45: 45

};

for (var key in obj) {

  if (key.indexOf("qwe") != -1) {
    alert(key + ", " + obj[key]);
  }

}


Такое можно сделать и с глобальными переменными (var key in window), но так делать не рекоменуется.
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2014, 13:55
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Используй свойства объекта, вместо переменных:
var obj = {
    qwe_1: 1,
    qwe_2: 2,
    //qwe_n: n,
    rty_45: 45
};

var qwe = Object.keys(obj).filter(function (key) {
    return key.startsWith('qwe_');
});

alert(qwe);


Полифилы: String.prototype.startsWith, Object.keys, Array.prototype.filter

--------
долго писал :-(

Последний раз редактировалось Octane, 08.09.2014 в 14:00.
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2014, 14:37
Новичок на форуме
Отправить личное сообщение для Gomonoff Посмотреть профиль Найти все сообщения от Gomonoff
 
Регистрация: 08.09.2014
Сообщений: 5

Спасибо за ответы! Через объект всё понятно. А можно как-нибудь не используя глобальный window?
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2014, 14:43
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

А может просто использовать массивы? Если у вас в коде есть переменные отличающиеся только циферкой на конце - с высокой вероятностью вы просто говнокодите.
var qwe = [1, 2, n];


Сообщение от Gomonoff Посмотреть сообщение
А можно как-нибудь не используя глобальный window?
Можно всё, но сложность не сравнима с результатом. Вы просто неправильно используете язык если у вас возникают подобные желания. Похожая тема.
__________________
29375, 35

Последний раз редактировалось Aetae, 08.09.2014 в 14:47.
Ответить с цитированием
  #6 (permalink)  
Старый 10.09.2014, 12:12
Новичок на форуме
Отправить личное сообщение для Gomonoff Посмотреть профиль Найти все сообщения от Gomonoff
 
Регистрация: 08.09.2014
Сообщений: 5

Я прекрасно понимаю что это говнокод. Но! Задача стоит именно так. Пользователь описывает некоторые параметры на своём сайте (считается что он совсем дубень и ему будет сложно описать параметры внутри объекта). После этого подгружается скрипт со стороннего ресурса, собирает эти параметры и отправляет (в ответ приходит картинка).

Вопрос второй))) Есть вариант, что пользователь захочет получить два изображения. Т.е. он должен два раза описать один и тот же параметр (переменную) с разными значениями. Как сделать, чтобы они не "перетирали" друг друга, и как достучатся до них "пачками"?
Ответить с цитированием
  #7 (permalink)  
Старый 10.09.2014, 12:46
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

нужно более точное определение «некоторые параметры»
иначе под ним можно подразумевать все что угодно
а то писать логику обрабатывающую что угодно крайне сложно
Ответить с цитированием
  #8 (permalink)  
Старый 10.09.2014, 12:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Gomonoff
Пользователь описывает некоторые параметры на своём сайте (считается что он совсем дубень и ему будет сложно описать параметры внутри объекта).
Путь тогда он их описывает в
<input type='hidden' name='тут_то_самое_имя' />
Ответить с цитированием
  #9 (permalink)  
Старый 10.09.2014, 12:56
Новичок на форуме
Отправить личное сообщение для Gomonoff Посмотреть профиль Найти все сообщения от Gomonoff
 
Регистрация: 08.09.2014
Сообщений: 5

var name = '234234234';
var ext = 'jpg';
Ответить с цитированием
  #10 (permalink)  
Старый 10.09.2014, 12:57
Новичок на форуме
Отправить личное сообщение для Gomonoff Посмотреть профиль Найти все сообщения от Gomonoff
 
Регистрация: 08.09.2014
Сообщений: 5

Сообщение от ksa Посмотреть сообщение
Путь тогда он их описывает в
<input type='hidden' name='тут_то_самое_имя' />
не не не... никак нельзя
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как и где задать цикл? Blondinka Events/DOM/Window 2 10.06.2014 15:29
Получить значение ячеек определенной строки таблицы AMSPeople Элементы интерфейса 2 28.12.2012 22:57
Скроллить до определенной строки внутри div Putnik Элементы интерфейса 1 15.08.2011 16:52
Помогите разобраться с задачей (поиск строки) Absinthe Ваши сайты и скрипты 6 07.12.2009 09:17