我正在研究提出的另一个问题的解决方案,并且我想出了一个解决方案,但我相信有一种更优雅的方法可以做到这一点。假设您有一个对象,其中所有值都是由逗号分隔的值字符串,如下所示:
{ "action" : "goto,goto", "target" : "http://www.google.com,http://www.cnn.com" }
但是,您希望将值分开并将对象分解为对象数组,如下所示:
[
{ "action" : "goto", "target" : "http://www.google.com" },
{ "action" : "goto", "target" : "http://www.cnn.com" }
]
这是我的解决方案:
var actions = obj.action.split(',');
var targets = obj.target.split(',');
// combined the actions and targets arrays
var combinedData = _.zip(actions, targets);
// go through the combinedData array and create an object with the correct keys
var commandList = _.map(combinedData, function(value) {
return _.object(["action", "target"], value)
});
这可以满足我的要求并且看起来并不可怕,但是有没有更巧妙的方法来实现这一点?