ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
16 lines (14 loc) • 518 B
JavaScript
var reEscapeChar = /\\(\\)?/g;
var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
function stringToPath(value) {
var result = [];
if (value.charCodeAt(0) === 46) {
result.push('');
}
value.replace(rePropName, function (match, number, quote, subString) {
result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match);
return match;
});
return result;
}
export { stringToPath as default };