Имя свойства объекта в виде цифры.
Хочу создать свойства объекта, к которым бы можно было впоследствии обращаться по цифрам, т.е. чтобы имена свойств были такими 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, время: 04:00. |