私は次のコードブロックがうまく動作しますが、ECMA6の簡略化が不足しているように感じます。ECMA6 forEachとfortheachの中間の機能でスプレッドしますか?
コンセプトコード:
//set.data is an array of objects
service.find().then(set => {
set.data.forEach(function(part, index) {
set.data[index] = itemModificationFunction(set.data[index]);
});
this.items.push(...set.data);
});
var itemModificationFunction = function (data) {
data.addFoo = 'additionalFoo';
return data;
};
...対。このようなもの...
service.find().then(set => {
this.items.push(itemModificationFunction(...set.data));
});
...最初の配列要素だけがプッシュされるため、もちろん動作しません。よりクリーンな方法がありますか?代わりにforEach
の
'const newData = set.data.map(item => itemModificationFunction(item)); this.items.push(... newData); '? – zerkms
ありがとう! 'this.items.push(... set.data.map(item => itemModificationFunction(item)));' – XediDC
本当に読めない怪物を作りたければ、これもうまくいきます- はい。 – zerkms