Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm thế nào để áp dụng đồng thời một hàm đối với hai giá trị của mảng từ trái sang phải?


Sử dụng phương thức Reduce () trong JavaScript để áp dụng một hàm đồng thời chống lại hai giá trị của mảng từ trái sang phải để giảm nó thành một giá trị duy nhất.

Sau đây là các tham số -

  • gọi lại - Hàm thực thi trên từng giá trị trong mảng.
  • Giá trị ban đầu - Đối tượng được sử dụng làm đối số đầu tiên cho lệnh gọi đầu tiên của lệnh gọi lại.

Ví dụ

Bạn có thể thử chạy đoạn mã sau để tìm hiểu cách làm việc với phương thức Reduce () trong JavaScript -

<html>
   <head>
      <title>JavaScript Array reduce Method</title>
   </head>

   <body>
      <script>
         if (!Array.prototype.reduce) {
            Array.prototype.reduce = function(fun /*, initial*/) {
               var len = this.length;
               if (typeof fun != "function")
               throw new TypeError();
               
               // no value to return if no initial value and an empty array
               if (len == 0 && arguments.length == 1)
               throw new TypeError();
               var i = 0;
               
               if (arguments.length >= 2) {
                  var rv = arguments[1];
               } else {
                  do {
                     if (i in this) {
                        rv = this[i++];
                        break;
                     }
                     // if array contains no values, no initial value to return
                     if (++i >= len)
                     throw new TypeError();
                  }
                  while (true);
               }
               for (; i < len; i++) {
                  if (i in this)
                  rv = fun.call(null, rv, this[i], i, this);
               }
               return rv;
            };
         }
         var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; });
         document.write("total is : " + total );
      </script>
   </body>
</html>