Hướng dẫn how do i write a javascript array to add positive and negative numbers? - làm cách nào để viết một mảng javascript để thêm các số dương và âm?


Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một loạt các số (dương và âm). Hàm của chúng tôi nên tính toán và trả về tổng của tất cả các số dương có trong mảng.

Thí dụ

Sau đây là mã -

& nbsp; bản demo trực tiếp

const arr = [5, -5, -3, -5, -7, -8, 1, 9];
const sumPositives = (arr = []) => {
   const isPositive = num => typeof num === 'number' && num > 0;
   const res = arr.reduce((acc, val) => {
      if(isPositive(val)){
         acc += val;
      };
      return acc;
   }, 0);
   return res;
};
console.log(sumPositives(arr));

Đầu ra

Sau đây là đầu ra bảng điều khiển -

15

Hướng dẫn how do i write a javascript array to add positive and negative numbers? - làm cách nào để viết một mảng javascript để thêm các số dương và âm?

Cập nhật vào ngày 17 tháng 4 năm 2021 11:54:20

  • Câu hỏi và câu trả lời liên quan
  • Đưa ra một loạt các số nguyên trở lại tích cực, có những tiêu cực tương đương có trong đó trong JavaScript
  • Tổng của tất cả các số nguyên tố trong một mảng - javascript
  • Tổng của tất cả các phần tử không lặp lại của một mảng javascript
  • Tổng xor tổng của tất cả các cặp trong một mảng trong c ++
  • Tổng tất cả giá trị trùng lặp trong mảng - javascript
  • Tổng XOR của tất cả các cặp trong một mảng trong C ++
  • Tổng các phần tử riêng biệt của một mảng trong javascript
  • Tổng tất cả các giá trị trùng lặp trong mảng trong javascript
  • Tổng hợp tất cả các phần tử tương tự trong một mảng - javascript
  • Tổng các phần tử riêng biệt của một mảng - javascript
  • Di chuyển tất cả các số 0 có mặt trong mảng đến cuối trong JavaScript
  • Tổng của tất cả các bội số trong javascript
  • Tìm tổng của một phạm vi trong một mảng javascript
  • Tìm tổng số phần tử mong muốn trong một mảng trong JavaScript
  • Sản phẩm của tất cả các số khác một mảng trong javascript


Chúng ta phải viết một hàm có trong một mảng và trả về một đối tượng có hai thuộc tính là tích cực và tiêu cực. Cả hai nên là một mảng chứa tất cả các mục tích cực và tiêu cực tương ứng từ mảng.

Cái này khá đơn giản, chúng ta sẽ sử dụng phương thức mảng.prototype.Reduce () để chọn các phần tử mong muốn và đưa chúng vào một đối tượng của hai mảng.

Thí dụ

const arr = [
   [12, -45, 65, 76, -76, 87, -98],
   [54, -65, -98, -23, 78, -9, 1, 3],
   [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
];
const splitArray = (arr) => {
   return arr.reduce((acc, val) => {
      if(val < 0){
         acc['negative'].push(val);
      } else {
         acc['positive'].push(val);
      }
      return acc;
   }, {
         positive: [],
         negative: []
      })
   };
   for(let i = 0; i < arr.length; i++){
   console.log(splitArray(arr[i]));
}

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

{ positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
{ positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
{
   positive: [ 87, 3, 123, 22, 23 ],
   negative: [ -98, -2, -877, -5, -67 ]
}

Hướng dẫn how do i write a javascript array to add positive and negative numbers? - làm cách nào để viết một mảng javascript để thêm các số dương và âm?

Cập nhật vào ngày 21 tháng 8 năm 2020 14:48:57

  • Câu hỏi và câu trả lời liên quan
  • Đảo ngược số lượng âm và dương trong javascript
  • Làm số mảng javascript âm
  • Các số lặp với các giá trị đối tượng và đầu ra đẩy vào một mảng - javaScript?
  • Thực hiện phân loại bong bóng với số âm và dương - JavaScript?
  • Biểu thức Lambda trong Python để sắp xếp lại các số dương và âm
  • Đệ quy trong mảng để tìm số lẻ và đẩy sang biến mới JavaScript
  • Loại bỏ các số âm khỏi một mảng trong Java
  • Sự khác biệt giữa số và số chuỗi có trong một mảng trong JavaScript
  • Đóng góp tích cực, tiêu cực và 0 của một mảng trong JavaScript
  • Chương trình Python để đếm số tích cực và âm trong danh sách
  • Biểu thức Lambda trong chương trình Python để sắp xếp lại các số dương và âm
  • Chương trình Golang để in tổng của tất cả các số dương và số âm trong danh sách
  • Làm thế nào tôi có thể chia một mảng số thành các chữ số riêng lẻ trong JavaScript?
  • Đi qua một mảng và chỉ tổng số javascript
  • Cách phân tách bảng chữ cái và số khỏi mảng bằng JavaScript

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc
    For example, if the input array is [-1, 2, -3, 4, 5, 6, -7, 8, 9], then the output should be [9, -7, 8, -3, 5, -1, 2, 4, 6]
    Note: The partition process changes relative order of elements. I.e. the order of the appearance of elements is not maintained with this approach. See this for maintaining order of appearance of elements in this problem.
    The solution is to first separate positive and negative numbers using partition process of QuickSort. In the partition process, consider 0 as value of pivot element so that all negative numbers are placed before positive numbers. Once negative and positive numbers are separated, we start from the first negative number and first positive number and swap every alternate negative number with next positive number. 
     

    Bàn luận

    15
    8
    15
    0

    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    3
    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    4

    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    3
    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    6

    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    3
    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    8

    15
    1
    15
    4
    15
    5

    15
    8
    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    2

    15
    1
    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    2

    15
    1
    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    6

    15
    8
    15
    9
    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    0

    15
    1
    15
    0

    15
    8
        4   -3    5   -1    6   -7    2    8    9
    3

    15
    8
        4   -3    5   -1    6   -7    2    8    9
    5

    15
    8
        4   -3    5   -1    6   -7    2    8    9
    7

    15
    8
        4   -3    5   -1    6   -7    2    8    9
    9

    15
    8

    const arr = [
       [12, -45, 65, 76, -76, 87, -98],
       [54, -65, -98, -23, 78, -9, 1, 3],
       [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
    ];
    const splitArray = (arr) => {
       return arr.reduce((acc, val) => {
          if(val < 0){
             acc['negative'].push(val);
          } else {
             acc['positive'].push(val);
          }
          return acc;
       }, {
             positive: [],
             negative: []
          })
       };
       for(let i = 0; i < arr.length; i++){
       console.log(splitArray(arr[i]));
    }
    3
    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    0

        

    15
    0

    15
    1
    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    8
    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    9

    15
    8    5    6    7

        

    { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
    { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
    {
       positive: [ 87, 3, 123, 22, 23 ],
       negative: [ -98, -2, -877, -5, -67 ]
    }
    2

    15
    1function1

    15
    1function3

        function