みんなにとって良い日です!私はこれと本当に混乱しています:
私はオブジェクトを持っています:
var someObject = {}
それで、次に私はこのようなプロパティを設定したいと思います:
someObject['errors.email'] = value1;
someObject['errors.password'] = value2;
そしてオブジェクトを持った後:
{
errors: {
email: 'some value 1'
,password: 'some value 2'
}
}
いくつかのシンタックスシュガーで可能ですか?
最も甘い問題は
function setValueByPath(obj, path, value) {
var pathArray = path.split('.');
var pointer = obj;
var i = 0, l = pathArray.length-1, prop;
for (; i<l; i++) {
prop = pathArray[i];
pointer = pointer.hasOwnProperty(prop) ? pointer[prop] : (pointer[prop] = {});
}
pointer[pathArray[i]] = value;
}
アドバイスをくれたRomanZivaに感謝します(ここhttp://jsperf.com/autocreate-objを参照)