مهلا، ما الذي تفعله وظيفة جافا سكريبت هذه، باختصار شديد؟

تقليل الوظيفة (obj، المسند /*، القيمة الأولية*/) {
  var args = [رد الاتصال]؛
  // `القيمة الأولية` اختيارية
  var hasInitialValue = 2 في الوسائط؛
  hasInitialValue && args.push(arguments[2]);

  رد اتصال الوظيفة (previousValue، currentKey،currentIndex، array) {
    // عندما لا يتم توفير "القيمة الأولية" بعد ذلك
    // `القيمة السابقة` هي القيمة المرتبطة بالمفتاح الأول
    إذا (! hasInitialValue) {
      PrevValue = obj[array[0]];
      hasInitialValue = true;
    }
    إرجاع المسند(
      القيمة السابقه،
      المفتاح الحالي,
      كائن [المفتاح الحالي]،
      الفهرس الحالي,
      مجموعة مصفوفة
    );
  }

  return Array.prototype.reduce.apply(Object.keys(obj), args);
}
مهلا، ما الذي تفعله وظيفة جافا سكريبت هذه، باختصار شديد؟

تقليل الوظيفة (obj، المسند /*، القيمة الأولية*/) {
  var args = [رد الاتصال]؛
  // `القيمة الأولية` اختيارية
  var hasInitialValue = 2 في الوسائط؛
  hasInitialValue && args.push(arguments[2]);

  رد اتصال الوظيفة (previousValue، currentKey،currentIndex، array) {
    // عندما لا يتم توفير "القيمة الأولية" بعد ذلك
    // `القيمة السابقة` هي القيمة المرتبطة بالمفتاح الأول
    إذا (! hasInitialValue) {
      PrevValue = obj[array[0]];
      hasInitialValue = true;
    }
    إرجاع المسند(
      القيمة السابقه،
      المفتاح الحالي,
      كائن [المفتاح الحالي]،
      الفهرس الحالي,
      مجموعة مصفوفة
    );
  }

  return Array.prototype.reduce.apply(Object.keys(obj), args);
}
user
تعمل دالة التخفيض على تقليل الكائن المقدم إلى مصفوفة، واستدعاء دالة أصلية مقدمة لكل زوج من قيمة المفتاح في الكائن وإلحاق النتيجة بالمصفوفة.
assistant