Сообщение от kostyanet
|
А вот писать везде if(typeof some_var === 'undefined') меня уже подзаебало. JS же в упор не хочет отвечать за вложение больше 1 глубиной. На php if(isset(arr['one']['two']['three']['four']))... на js - х нанэ. Или как-то делается?
|
кто то мешает написать подобие isset?
простейший вариант:
function isset(object, keys) {
keys = (keys instanceof Array ? keys : [keys]).slice(0);
return object !== void 0 && keys[0] in object
? keys.length === 1 || isset(object[keys[0]], keys.slice(1)) : false;
}
var o = {
a: {
w: {
r: {
t: {
y: 1
}
}
}
}
};
alert(isset(o, 'a')); // true
alert(isset(o, 'w')); // false
alert(isset(o, ['a', 'w', 'r', 't', 'y'])); // true