Exception-free nested nullable attribute accessor. An alternative to facebookincubator/idx in 52 bytes.
Just copy/paste this function into your project:
var mb=(...p)=>p.reduce.bind(p,(a,c)=>Object(a)[c])
Alternatively, you can download mb.js.
var getHello = mb('a', 'b', 0, 'hello');
var getHelloLength = mb('a', 'b', 0, 'hello', 'length');
var obj1 = {
a: {
b: [{ hello: 'world' }]
}
};
var obj2 = {
c: {
d: 'e'
}
};
getHello(obj1); // world
getHelloLength(obj1); // 5
getHello(obj2); // undefined
getHelloLength(obj2); // undefined
- Clone and shorten current code.
- Please open
test.html
in your browser and open console to see if all the tests pass.