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