



Set or get a value within a deeply nested object using `dot' notation
npm install --save dot2val
vardot2val=require('dot2val');
Given:
varobj={prop1:{arr:['a','b','c'],str:'Hello'},prop2:{arr:[{nested:'Universe'}],str:'Hello again!'}}vararr=[{foo:'bar'}];
Expect:
dot2val.get(obj,'prop1.str');// => "Hello"dot2val.get(obj,'prop1.arr.2');// => "c"dot2val.get(obj,'prop2.arr.0.nested');// => "Universe"dot2val.get(arr,'0.foo');// => "bar"dot2val.get(undefined,'doesnt.matter');// => undefineddot2val.get({},'doesnt.exist');// => undefineddot2val.get({},'doesnt.exist','default value');// => "default value"
dot2val.set(obj,'hello.universe','properties');dot2val.set(obj,'hello1','universe');dot2val.set(obj,'prop2');// delete obj['prop2']
Try dot2val in your browser
MIT