将字符串转到_内的对象.each
Turn string to object within _.each
我在Angular控制器中使用下划线,并试图将字符串转换为具有多个属性的对象。
vm.availableGames = _.each(availableGames, function(game) {
game.name = game;
if (_.contains(user.allowed_games.games, game)) {
game.allowed = true;
} else {
game.allowed = false;
}
});
availableGames
是可用游戏的字符串数组allowed_games
也是允许游戏的字符串数组
我的目标是创建一个包含所有可用游戏的对象数组(vm.availableGames
)。每个对象都有一个name属性(原始字符串)和一个允许的属性(布尔值)。
上述代码导致Cannot assign to read only property...
错误。如果不遇到这个错误,我该如何实现我的目标?
这应该有效:
vm.availableGames = _.map(availableGames, function(game) {
return {
name: game,
allowed: _.contains(user.allowed_games, game)
};
});
并且没有下划线:
vm.availableGames = availableGames.map(function(game) {
return {
name: game,
allowed: (user.allowed_games.indexOf(game) !== -1)
};
});
它不是下划线,但它能工作吗?
vm.availableGames = [];
for( game in availableGames ) {
if( allowed_games.indexOf(game) !== -1 )
vm.availableGames.push({ allowed: true, name: availableGames[game] });
else
vm.availableGames.push({ allowed: false, name: availableGames[game] });
}
for( game in allowed_games ) {
if( availableGames.indexOf(allowed_games[game]) !== -1 )
vm.availableGames.push({ allowed: true, name: allowed_games[game] });
}
编辑:使用forEach回答。。。
注意:只有当allowed_games中的所有内容都在available games中时,此操作才有效。
availableGames.forEach(function( game ) {
vm.availableGames.push({ allowed: allowed_games.indexOf(game) !== -1, name: game });
});
相关文章:
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- 为什么我不能用for Each迭代对象
- $.each 中的“this”,当需要使用“this”访问对象的函数时
- 如何在jquery中从$.each循环创建对象数组
- 正在更新$.each中的对象数组
- jQuery插件返回this.each并为每个对象添加函数属性
- 在jquery each()迭代器函数中访问JS对象
- 在 $.each 中创建新的 assoc 对象
- 使用 $.each 将值放入数组对象中
- 正确使用 $.each 对象属性
- 我如何从递归 $.each 中的对象中删除元素
- 使用 $.each 循环访问具有多个属性的对象数组
- 无法使用 $.each() 函数向对象添加属性
- 读取 json 以使用 jQuery .each() 创建对象数组
- jQuery:在 $.each 中从字符串类型转换为字符串对象
- jQuery: $.each() 递归清空对象
- JSON 中的对象与 $Each 循环,如何获取值
- 将字符串转到_内的对象.each
- jQuery爬网程序大对象/$.each/Ajax IN然后是Ajax OU
- 删除下划线.js中的当前对象each()或other