ключ объекта ссылка на объект
var start = {}; var obj = {}; var a = start; obj.a = 5; for(var key in obj){ console.log(key === start); } Всем привет. Подскажите как правильно сделать что бы получилось true? Нужно передать ключом объекта объект, и получить в итоге при сравнении ключа и объекта истину. Помогите пожалуйста. |
в качестве ключей нельзя ничего использовать кроме строк, а все иные типы будут автоматически переведены в строки. Ваша просьба в данном случае не выполнима.
|
Хз, что тебе надо. Может так?
var obj = {}; var a = 'start'; obj[a] = 5; for(var key in obj){ console.log(key === 'start'); }Ключами в объектах javascript могут только строки, если что. (и Symbol в новом стандарте) Для произвольных ключей в новом стандарте есть Map, но он только для современных браузеров. С Map как-то так: var start = {}; var map = new Map(); map.set(start, 5); map.forEach(function(value, key){ console.log(key === start); }) |
Цитата:
|
Цитата:
o={} o.{}="bar" ???:) ЗЫ все, понял, вот так o={} o.false="foo" Но не со всеми типами это прокатывает. И, в данном случае, подстрока false в выражении o.false - это и есть строка изначально, она никакого отношения к false вообще не имеет. Тут "преобразование", такое же как foo.foo=1, т.е. семантически -- никакого. |
Возможно, ты хотел вот этого
var start = {}; var obj = {}; var a = start; obj.a = 5; obj.b = start; for(var key in obj){ console.log(obj[key] === start); } // false // true только не ясно, зачем. |
Цитата:
o={} o[{}]="bar" alert(o['[object Object]'])наркоман несчастный. |
Цитата:
Кодирнуть объектную строку в btoa() и её использовать и как ключ и как расшифровку(atob()) ключа в объект |
Deff,
o={} o["{foo: 1}"]={foo: 1} if("{foo: 1}" in o) alert(typeof o["{foo: 1}"]) |
krutoy,
:) Моё красивше и обфусцированнее, эффективно для использовать для задания частоиспользуемых коротких функций JS библиотеки в небольших проектах |
Часовой пояс GMT +3, время: 01:03. |