假设我有一辆模型车,我可以买到所有车辆
cars = App.Car.find()
如何在所有汽车中循环以更改每辆车的属性(类似于Ruby中的cars.each do |car|
)?对于单车,我会用car.set('colour', 'blue');
来做,但我缺乏JavaScript理解来解决这个琐碎的问题。
答案 0 :(得分:3)
我怎样才能遍历所有车辆以改变每辆车的属性(像汽车那样做什么?汽车|在Ruby中)?
App.Car.find()
返回的对象是Enumberable,因此您可以使用Ember.Enumerable
API来访问子对象。例如,您可以:
cars.forEach(function(car) {
car.set('colour', 'blue');
});
但在这种情况下,使用setEach
方法会更有效:
cars.setEach('colour', 'blue');
Enumberables API为您提供了很多选择,请参阅ember enumerables guide和enumberables api doc
答案 1 :(得分:1)
您可以使用Ember.Enumerable#setEach
:
cars = App.Car.find();
cars.setEach('colour', 'le blue');
答案 2 :(得分:0)
如果find()
返回一个数组,您可以使用Array.prototype.map
MDN
cars = cars.map(function (car) {
return car.set('colour', 'blue');
});
还有mapping ember enumerables的具体文档。