Цитата:
var object = {
a: {
b: {
c: {
d: {
e: 1
}
}
}
}
};
Что в этой нотации a.b.c.d.e не устраивает? ;) |
Длина паровоза может быть произвольной, a.b.c.d.e лишь пример, может ещё длиннее: a.b.c.e.f.q.w.e.e.r.t, длина заранее неизвестна.
Хочется какой-то метод getPropretyValue(a,"b.c.d.e.") который вернёт undefined если какогото вагона нету в этой цепочке. |
return a && a.b && a.b.c && a.b.c.d; :) |
function resolve ( obj, lookups ) {
var curr = obj,
items = lookups.split("."),
i = 0,
len = items.length;
for ( ; i < len; i++ ) {
curr = curr[ items[ i ] ];
if ( typeof curr != 'object' ) break;
}
return curr;
}
alert(
resolve({a: {b: {c: {d: {e: { f: 1 }}}}}}, "a.b.c.d.e.f") + "\n" +
resolve({a: {b: {c: {d: {e: { f: 1 }}}}}}, "q.w.e.r.t.y")
);
|
| Часовой пояс GMT +3, время: 11:35. |