Grundlegende Verwendung und seltsame Verwendung der Array-Methode werden reduziert

Array.prototype.reduceist eine der JavaScript-Array-Methoden, die die einzelnen Werte eines Arrays akkumuliert und sie auf einen einzigen Wert reduziert. Hier sind einige grundlegende Verwendungszwecke und einige, die möglicherweise als seltsam oder weniger häufig gelten:

Grundlegende Verwendung:

  1. Array-Summe:
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 输出 15
  1. Finden Sie den Maximalwert:
const values = [10, 30, 50, 20, 40];
const max = values.reduce((acc, curr) => Math.max(acc, curr), -Infinity);
console.log(max); // 输出 50
  1. Array-Deduplizierung:
const duplicates = [1, 2, 2, 3, 4, 4, 5];
const uniqueValues = duplicates.reduce((acc, curr) => {
    
    
  if (!acc.includes(curr)) {
    
    
    acc.push(curr);
  }
  return acc;
}, []);
console.log(uniqueValues); // 输出 [1, 2, 3, 4, 5]

Seltsame Verwendung:

  1. Array-Kacheln:
const nestedArray = [[1, 2], [3, 4], [5, 6]];
const flatArray = nestedArray.reduce((acc, curr) => acc.concat(curr), []);
console.log(flatArray); // 输出 [1, 2, 3, 4, 5, 6]
  1. Objektarray in Objekt konvertieren:
const people = [
  {
    
     id: 1, name: 'John' },
  {
    
     id: 2, name: 'Jane' },
  {
    
     id: 3, name: 'Doe' },
];
const peopleObject = people.reduce((acc, person) => {
    
    
  acc[person.id] = person.name;
  return acc;
}, {
    
    });
console.log(peopleObject); // 输出 {1: 'John', 2: 'Jane', 3: 'Doe'}
  1. Zustandsstatistik:
const numbers = [1, 2, 3, 4, 5];
const countEvenOdd = numbers.reduce(
  (acc, curr) => {
    
    
    curr % 2 === 0 ? acc.even++ : acc.odd++;
    return acc;
  },
  {
    
     even: 0, odd: 0 }
);
console.log(countEvenOdd); // 输出 {even: 2, odd: 3}

Diese Beispiele zeigen einige grundlegende und kreative Verwendungsmöglichkeiten von reduce. Da reduce über eine große Flexibilität verfügt, kann es auf viele Szenarien angewendet werden.

Supongo que te gusta

Origin blog.csdn.net/m0_46672781/article/details/134596513
Recomendado
Clasificación