Đơn giản hóa các vòng lặp lồng nhau trong javascript

Oct 17 2020

Tôi muốn đơn giản hóa foreach lồng nhau của mình bên trong bản đồ bằng javascript, nhưng không chắc cách tiếp cận nó

đây là những gì tôi có:

var items = [1, 2, 3];
var callbacks = [function() { console.log('hi') }, function() { console.log('hi') }]

var result = items.map(item => {
  var intermediate = item;
  callbacks.forEach(callback => {
    intermediate = callback(intermediate);
  })
  return intermediate;
});
console.log(result);

bạn có thể giúp được không?

Trả lời

3 NinaScholz Oct 17 2020 at 00:52

Bạn có thể giảm các mảng bằng các lệnh gọi lại và ánh xạ các giá trị.

const
    items = [1, 2, 3],
    callbacks = [x => x + 1, x => 2 * x],
    result = items.map(item => callbacks.reduce((x, fn) => fn(x), item));

console.log(result);