我在这里有一个益智游戏。我有以下收藏:
var TagsCollection = Backbone.Collection.extend({
model: TagModel,
parse : function(response) {
console.log(response);
// code to go
return response;
}
});
现在获取以下示例JSON对象:
{
id: 10149682,
published: "2014-01-13 08:23:00",
title: "Title",
tags: "tag1,tag2,tag3,tag4"
}
现在我想要的是插入一些代码,将现有的响应重新映射为以下格式:
[{name: "tag1"}, {name: "tag2"}, {name: "tag3"}, {name: "tag4"}]
并将其加载到集合中。 (一个重要的注意事项 - 使用Backbone / Underscore方法 - 例如_.chain / _.reduce等。)
答案 0 :(得分:2)
您可split tags
键:
var tags = response.tags.split(',');
map生成的数组
return _.map(tags, function(tag) {
return {name: tag};
});
答案 1 :(得分:0)
您还可以尝试以下方式:
var tags= "tag1,tag2,tag3,tag4";
var newArr = tags.split(',').map(function(tag){ return {name: tag} });
重要:这适用于IE9 +,如果您需要在IE8或更早版本中运行,则需要输入。您可以完善说明here