Имя свойства объекта в виде цифры.
Хочу создать свойства объекта, к которым бы можно было впоследствии обращаться по цифрам, т.е. чтобы имена свойств были такими 0, 1, 2.
array={}
array_lenght = 10
for(i=0, i<array_length, i++){
array.
}
Тут на сайте в статье все разбирается на примерах, где у свойств стринговые имена. Могут ли они быть nubmer чтобы в примере выше я мог завершить строку так array.i = i; Если есть вариант только с конвертацией значения i в стринговый формат да и вообще не пойму будет ли верной такая запись array.i.toString() = i; или по другому надо? |
lancer,
Не проще задать имена массивом, и управлять по номеру элемента в массиве ? либо имена - свойством объекта с value = номеру имени, а первое свойство объекта сделать равным упорядоченному по номерам массивом остальных свойств(имён) |
Если хотите цифры - используйте массивы.
var
arr = [];
arr[100] = '100'
alert(arr[100])
Но в объектах в качестве ключей можно использовать любые UTF-8 строки, даже пустую строку, только доступ к ним можно будет получить через [].
var
obj = {};
obj[''] = 'Пустая строка';
obj[1] = 'Цифра';
obj['я'] = 'Русская буква Я';
obj['ↂ'] = 'Неведомая фигня';
alert(obj['']);
alert(obj[1]);
alert(obj['я']);
alert(obj['ↂ']);
|
Ок, здесь массивы.
Цитата:
Цитата:
|
Цитата:
С другой стороны, легко по свойству получать значения
var obj={
"0001":"имя1,имя2,имя3".split(','), //Листинг Имен
"имя1":'asdasdasd',
"имя2":'vvvvvvvv',
"имя3":'dddddddd'
}
var length = obj['0001'].length;
for(var i=0;i<length; i++){
alert(obj['0001'][i]+'='+obj[obj['0001'][i]]);
}
|
Цитата:
|
Цитата:
var obj = {
"имя1":'asdasdasd',
"имя2":'vvvvvvvv',
"имя3":'dddddddd'
};
// Да уж.. америку открываю...
for (var prop in obj){
alert (prop + '=' + obj[prop]);
}
alert(Object.keys(obj));
|
danik.js,
Из опыта говорю, где собака порылась, у мну тут объектик был на 500 т объектов - словарик стилей, так перебор и создание листинга занимал секунд несколько, а поскольку один фиг имена формируются сервером, так сформировать листинг на серве, - как два пальца, нежели перебор, да еще если значения функциями |
var array = {
0: 'Ноль',
1: 'Один',
2: 'Два',
9: 'Девять'
}
for(var i in array) alert(i+': '+array[i]);
|
Ruslan_xDD,
Вообщем тоже идея - но нужны тогда два объекта, если к именам привязать значения, хотя...можно конечно задать массив
var array = {
0: ['Ноль',value0],
1: ['Один',value1],
2: ['Два',value2],
9: ['Девять',value9]
}
for(var i in array) alert(i+': '+array[i][0]);
|
| Часовой пояс GMT +3, время: 17:09. |