ключ объекта ссылка на объект
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, время: 23:51. |