Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2014, 20:05   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Можно ли поменять имя свойства таким образом?

Допустим имеется объект sector0

у него есть свойства s_1_coord_x,s_2_coord_x,s_13_coord_ x и так далее

как мне в цикле при выборе свойства подставить переменную то есть вместо s_1_coord_x что типо 's_'+n+'_coord_x'

Так не получается
есть ли способ подобного доступа?
Illusiony вне форума Ответить с цитированием
Старый 16.03.2014, 20:23   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Код:
sector0['s_'+n+'_coord_x']
Код:
for (var key in sector0) {
    console.log(sector0[key])
}
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 16.03.2014, 20:41   #3
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

ну так и так как я s_'+n+'_coord_x' как текст то он отображается, но при доступе как свойству нет.
Illusiony вне форума Ответить с цитированием
Старый 16.03.2014, 21:15   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Object.defineProperty
или
eval("o."+property + " = 123");

интересно, а почему у вас не видит свойство как у Fenex ?
eval вне форума Ответить с цитированием
Старый 16.03.2014, 21:30   #5
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

вот свойства к которым необходимо достучаться
name_sector изначальный обект который включает объекты sector0,sector1,sector2 ( но их количество изначально не известно)

каждый объект sector имеет ряд свойств включая s_1_coord_x,s_1_coord_y,s_2_coord_x ,s_2_coord_y

name_sector.sector0.s_1_coord_x
name_sector.sector0.s_1_coord_y
name_sector.sector0.s_2_coord_x
name_sector.sector0.s_2_coord_y

и так далее
получается
n=0;
m=1;
var key_sector='sector'+n;
var key_coord_x='s_'+m+'_coord_x';
var key_coord_y='s_'+m+'_coord_y';
удалось сделать вот что
name_sector[key_sector].s_1_coord_x

то есть доступ к sector0,sector1,sector2 через переменную n
но как достучаться дальше до s_1_coord_x,s_1_coord_y,s_2_coord_x ,s_2_coord_y и т.д. через переменную m

Последний раз редактировалось Illusiony; 16.03.2014 в 21:56.
Illusiony вне форума Ответить с цитированием
Старый 16.03.2014, 21:47   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

что не получается в предложенных вариантах?
eval вне форума Ответить с цитированием
Старый 16.03.2014, 21:56   #7
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

как мне из name_sector[key_sector].s_1_coord_x
вместо s_1_coord_x подставить key_coord_x чтобы можно было по m обращаться?
name_sector[key_sector[key_coord_x]] не канает
Illusiony вне форума Ответить с цитированием
Старый 16.03.2014, 22:00   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

name_sector[key_sector].s_1_coord_x
и
name_sector[key_sector[key_coord_x]]
обращение к разным сущностям
как вам надо?
eval вне форума Ответить с цитированием
Старый 16.03.2014, 22:02   #9
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

все получилось так
name_sector[key_sector][key_coord_x]

Всем большое спасибо за ответы
Illusiony вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработать протокол отправки SMS-сообщений таким образом, чтобы удалять можно было только разрешенные для удаления сообщения. Разр Skullet C/C++ Сетевое программирование 0 13.12.2012 02:33
При отправке сообщения шифрует 4?4?4?4?4?5? таким образом FleXik Общие вопросы Delphi 5 17.11.2012 22:45
упорядочить одномерный массив таким образом,чтобы сначалашлиупорядоченные положительные члены и tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 5 05.07.2012 20:16
Возможна ли защита от копирования сайта таким образом... VictoriaV Помощь студентам 1 09.04.2012 01:35
Изменить выделенный текст таким образом, чтобы новое выделение, содержало те же символы, но расположенные develish151 Microsoft Office Word 2 22.04.2010 18:18