Angularjs 角度forEach将值添加到每个对象中
我不知道怎么做: 我有一个对象数组:Angularjs 角度forEach将值添加到每个对象中,angularjs,foreach,Angularjs,Foreach,我不知道怎么做: 我有一个对象数组: $scope.eventSources = [ {title: 'Equipe 1 vs equipe 2',start: new Date(y, m, 1),color: 'black'}, {title: 'Equipe 2 vs equipe 3',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2),color: 'black'}, ]; 我如何添加 classNam
$scope.eventSources = [
{title: 'Equipe 1 vs equipe 2',start: new Date(y, m, 1),color: 'black'},
{title: 'Equipe 2 vs equipe 3',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2),color: 'black'},
];
我如何添加
className: 'evenement'
每个物体内部
我试过这个:
angular.forEach($scope.eventSources,function(value,index){
value.className = 'evenement';
});
但它不起作用,因为类名还不存在
谢谢使用索引访问数组对象
angular.forEach($scope.eventSources,function(value,index){
$scope.eventSources[index]["className"] = "evenement";
});
或者您也可以将其添加到值中
angular.forEach($scope.eventSources,function(value,index){
value.className = "evenement";
});
映射数组,然后为每个项目指定属性
var newArray = $scope.eventSources.map(function(item) {
item.className: 'evenement';
return item;
});
console.log(newArray);
// result
[
{title: 'Equipe 1 vs equipe 2',start: new Date(y, m, 1),color: 'black',
className:'evenement'},
{title: 'Equipe 2 vs equipe 3',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2),color: 'black', className:'evenement'},
];
您可以只使用
angular.forEach
中的obj
参数,因为您需要为每个对象(例如:itm
)分配一个新属性className
,作为itm.className='evement'代码>
var-app=angular.module(“app”,[]);
应用程序控制器(“ctrl”,函数($scope){
$scope.eventSources=[{
标题:“装备1对装备2”,
开始:新日期(),
颜色:“黑色”
},
{
标题:“装备2对装备3”,
开始:新日期(),
结束:新日期(),
颜色:“黑色”
}
];
angular.forEach($scope.eventSources,function(itm){
itm.className='evenement';
});
});代码>
{{eventSources}json}
但它不起作用,因为类名还不存在。
-实际上毫无意义。如果value
是一个对象,则可以轻松地为其指定新特性。根据OP中显示的代码,它肯定是一个对象。您能创建一个简短的示例来说明您的实际问题吗?value
是对象,我们只需添加一个属性即可that@Frank莫迪卡,你说得对。但这并不意味着上述情景是错误的。有很多方法可以做到这一点,我也包括你的方法。我知道,我不是那个否决你的人。但是,考虑到我们使用的是angular.forEach
,您原来的方法仍然比需要的复杂。我看到您使用了更简单的解决方案进行了更新。实际上,angular.forEach
接受三个参数(obj,iterator,[context])
,而迭代器(您打算引用的)也接受三个参数:(value,key,obj)
,其中value是对象属性或数组元素的值,key是对象属性键或数组元素索引,obj是对象/数组本身。@ippi,告诉我。这正是文件所说的。OP here只需要迭代器中的obj
就可以添加新属性,其余所有参数都是无关的。@Sajal有一个好的答案和技术上的正确性并没有坏处。对不起,如果我的声音听起来很刺耳。我仍然认为你应该编辑它。我同意使用正确的词汇,但我想这里的措辞有点不恰当。无论如何,我用一个更好的短语更新了答案,以供将来阅读的人使用。