Làm thế nào để bạn nói chia hết trong javascript?

Toán tử chia (

2.0 / 0; // Infinity

2.0 / 0.0; // Infinity, because 0.0 === 0

2.0 / -0.0; // -Infinity
8) tạo ra thương số của các toán hạng của nó trong đó toán hạng bên trái là số bị chia và toán hạng bên phải là số chia

Thử nó

cú pháp

x / y

ví dụ

phân chia cơ bản

1 / 2; // 0.5

Math.floor(3 / 2); // 1

1.0 / 2.0; // 0.5

Chia cho số không

2.0 / 0; // Infinity

2.0 / 0.0; // Infinity, because 0.0 === 0

2.0 / -0.0; // -Infinity

thông số kỹ thuật

Thông số kỹ thuật Đặc tả ngôn ngữ ECMAScript
# sec-nhân-toán tử

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt có bật JavaScript. Bật JavaScript để xem dữ liệu

Xem thêm

  • Toán tử cộng
  • Toán tử trừ
  • toán tử nhân
  • Toán tử phần dư
  • Toán tử lũy thừa
  • toán tử gia tăng
  • Toán tử giảm dần
  • Toán tử phủ định một ngôi
  • Toán tử cộng một ngôi

Tìm thấy một vấn đề với trang này?

  • Chỉnh sửa trên GitHub
  • Nguồn trên GitHub
  • Báo cáo sự cố với nội dung này trên GitHub
  • Bạn muốn tự khắc phục sự cố?

Sửa đổi lần cuối. Ngày 17 tháng 11 năm 2022, bởi những người đóng góp MDN

Chúng ta được yêu cầu viết một hàm JavaScript lấy một mảng Số làm đối số đầu tiên, hãy gọi nó là mảng và một số duy nhất làm đối số thứ hai, hãy gọi nó là num

Hàm sẽ tìm tất cả các cặp như vậy từ mảng trong đó -

arr[i] + arr[j] = num, and
i < j

Ví dụ -

Nếu mảng đầu vào và số là -

const arr = [1, 2, 3, 4, 5, 6];
const num = 4;

Sau đó, đầu ra phải là -

const output = [
   [1, 3], [2, 6], [3, 5]
];

Thí dụ

Mã cho điều này sẽ là -

Bản thử trực tiếp

const arr = [1, 2, 3, 4, 5, 6];
const num = 4;
const divisibleSumPairs = (arr = [], num) => {
   const res = [];
   const { length } = arr;
   for(let i = 0; i < length; i++){
      for(let j = i + 1; j < length; j++){
         const sum = arr[i] + arr[j];
         if(sum % num === 0){
            res.push([arr[i], arr[j]]);
         }
      }
   }
   return res;
};
console.log(divisibleSumPairs(arr, num));

đầu ra

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

[ [ 1, 3 ], [ 2, 6 ], [ 3, 5 ] ]

Làm thế nào để bạn nói chia hết trong javascript?

Cập nhật ngày 24-Feb-2021 16. 29. 07

giới thiệu 🌐

Tôi lấy các bài kata thú vị ở mọi cấp độ và giải thích cách giải chúng

Giải quyết vấn đề là một kỹ năng quan trọng, cho sự nghiệp và cuộc sống của bạn nói chung

Bạn nên học cách giải quyết vấn đề


Nguồn

Tôi lấy ý tưởng cho các bài kata từ các nguồn khác nhau và viết lại chúng

nguồn hôm nay. mật mã


Hiểu bài tập ❗

Đầu tiên, chúng ta cần hiểu bài tập

Đây là một phần quan trọng của kỹ thuật (phần mềm)

Xem lại phần giải thích bài tập cho đến khi bạn hiểu nó 100%

KHÔNG cố gắng tiết kiệm thời gian ở đây

phương pháp của tôi để làm điều này

  1. Đầu vào. Tôi đặt cái gì vào?
  2. đầu ra. Tôi muốn thoát ra cái gì?

bài tập hôm nay

Viết hàm

2.0 / 0; // Infinity

2.0 / 0.0; // Infinity, because 0.0 === 0

2.0 / -0.0; // -Infinity
9, nhận hai tham số.
arr[i] + arr[j] = num, and
i < j
0 và
arr[i] + arr[j] = num, and
i < j
1

Cho một mảng số, e. g.

arr[i] + arr[j] = num, and
i < j
2,
và một ước số, e. g.
arr[i] + arr[j] = num, and
i < j
3,
trả về một mảng có tất cả các số chia hết cho ước đã cho, e. g.
arr[i] + arr[j] = num, and
i < j
4.


Đầu vào. một mảng số và một số

đầu ra. một mảng số


Suy nghĩ về giải pháp 💭

Tôi nghĩ rằng tôi hiểu bài tập (= những gì tôi đưa vào chức năng và những gì tôi muốn thoát khỏi nó)

Bây giờ, tôi cần các bước cụ thể để chuyển từ đầu vào sang đầu ra

Tôi cố gắng làm điều này từng bước nhỏ

  1. Lặp qua mọi số
  2. Kiểm tra xem số hiện tại có chia hết cho ước không
  3. Nếu có, hãy lưu nó vào biến kết quả
  4. Trả kết quả

Thí dụ

  • Đầu vào.
    console.log(divisibleBy([1, 2, 3, 4, 5, 6], 2));
    // [ 2, 4, 6 ] ✅
    
    console.log(divisibleBy([1, 2, 3, 4, 5, 6], 3));
    // [ 3, 6 ] ✅
    
    0
  • lặp lại 1.
    console.log(divisibleBy([1, 2, 3, 4, 5, 6], 2));
    // [ 2, 4, 6 ] ✅
    
    console.log(divisibleBy([1, 2, 3, 4, 5, 6], 3));
    // [ 3, 6 ] ✅
    
    1 có chia hết cho
    arr[i] + arr[j] = num, and
    i < j
    3 không?
  • lặp lại 2.
    arr[i] + arr[j] = num, and
    i < j
    3 có chia hết cho
    arr[i] + arr[j] = num, and
    i < j
    3 không?
  • lặp lại 3.
    console.log(divisibleBy([1, 2, 3, 4, 5, 6], 2));
    // [ 2, 4, 6 ] ✅
    
    console.log(divisibleBy([1, 2, 3, 4, 5, 6], 3));
    // [ 3, 6 ] ✅
    
    8 có chia hết cho
    arr[i] + arr[j] = num, and
    i < j
    3 không?
  • lặp lại 4.
    1 / 2; // 0.5
    
    Math.floor(3 / 2); // 1
    
    1.0 / 2.0; // 0.5
    
    51 có chia hết cho
    arr[i] + arr[j] = num, and
    i < j
    3 không?
  • Lặp lại 5.
    1 / 2; // 0.5
    
    Math.floor(3 / 2); // 1
    
    1.0 / 2.0; // 0.5
    
    55 có chia hết cho
    arr[i] + arr[j] = num, and
    i < j
    3 không?
  • Lặp lại 6.
    1 / 2; // 0.5
    
    Math.floor(3 / 2); // 1
    
    1.0 / 2.0; // 0.5
    
    58 có chia hết cho
    arr[i] + arr[j] = num, and
    i < j
    3 không?
  • đầu ra.
    arr[i] + arr[j] = num, and
    i < j
    4 ✅

Thực hiện (cho vòng lặp) ⛑

2.0 / 0; // Infinity

2.0 / 0.0; // Infinity, because 0.0 === 0

2.0 / -0.0; // -Infinity
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Kết quả

________số 8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình


Thực hiện (chức năng) ⛑

1 / 2; // 0.5

Math.floor(3 / 2); // 1

1.0 / 2.0; // 0.5
5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Kết quả

________số 8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình


Sân chơi ⚽

Bạn có thể chơi xung quanh với mã ở đây


Phần tiếp theo ➡️

Làm tốt lắm bạn ơi

Chúng tôi đã học cách sử dụng vòng lặp

console.log(divisibleBy([1, 2, 3, 4, 5, 6], 2));
// [ 2, 4, 6 ] ✅

console.log(divisibleBy([1, 2, 3, 4, 5, 6], 3));
// [ 3, 6 ] ✅
3 và phương pháp
console.log(divisibleBy([1, 2, 3, 4, 5, 6], 2));
// [ 2, 4, 6 ] ✅

console.log(divisibleBy([1, 2, 3, 4, 5, 6], 3));
// [ 3, 6 ] ✅
4

Tôi hy vọng rằng bạn có thể sử dụng những kiến ​​​​thức mới của mình để giải quyết vấn đề dễ dàng hơn

Lần tới, chúng ta sẽ giải một bài kata thú vị khác. Giữ nguyên


Nếu tôi cần giải một bài kata cụ thể, hãy nhắn tin cho tôi tại đây

Nếu bạn muốn đọc những thứ mới nhất của tôi, hãy liên lạc với tôi


Đọc thêm 📖

  • cho vòng lặp
  • lọc

Câu hỏi ❔

  • Bạn có thường xuyên tập kata không?
  • Bạn thích triển khai nào hơn?
  • Bất kỳ giải pháp thay thế?