如何在不使用任何回调函数的情况下,仅使用lodash函数解析URL字符串?
例如:
var rawUrl = “?a=b454&c=dhjjh&f=g6hksdfjlksd..”
我的目前解决方案是
var answer = _.reduce(_.split(_.replace(rawUrl,'?',''), '&'), function(result, ev) {
(result[ev.split('=')[0]] || (result[ev.split('=')[0]] = [])).push(ev.split('=')[1]);
return result;
}, {});
但是,在这里仍然存在一个回调函数。
window.location.href
与此一起,我将其调整为_.chain(window.location.href).split('?').nth(1).split('&').map(_.partial(_.split, _, '=', 2)).fromPairs().value()
。 - A.W..replace(/^.+\?/, '')
而不是.replace('?', '')
。 - Adam Skinner