Tìm số lẻ trong mảng javascript

Đối với chức năng này, bạn được cung cấp một mảng. Mảng này chứa các số nguyên và tất cả chúng đều có số lượng trùng lặp ngoại trừ một số. Mục tiêu của hàm là tìm số đó xuất hiện với số lần lẻ và trả về số đó

Nếu không có số nào trùng số lẻ thì hàm sẽ trả về -1

Ví dụ

findOdd[[1,1,1,1,1,1,10,1,1,1,1]] // output: 10findOdd[[20,1,1,2,2,3,3,5,5,4,20,4,5]] // output: 5

Điều đầu tiên chúng ta sẽ làm là lặp qua arr

for [let i = 0; i < arr.length; i++] {
const count = arr.filter[value => value === arr[i]].length;
if [count % 2 == 1] {
return arr[i];
}
}

Ở dòng đầu tiên bên trong vòng lặp for, chúng ta sử dụng phương thức filter[] để tạo một mảng mới chứa tất cả các giá trị khớp với giá trị lặp hiện tại. Chúng tôi cũng sử dụng phương pháp

for [let i = 0; i < arr.length; i++] {
const count = arr.filter[value => value === arr[i]].length;
if [count % 2 == 1] {
return arr[i];
}
}
0 để giúp chúng tôi có được số bản sao cho số cụ thể đó trong arr

Chúng tôi gán số này cho biến

for [let i = 0; i < arr.length; i++] {
const count = arr.filter[value => value === arr[i]].length;
if [count % 2 == 1] {
return arr[i];
}
}
1

const count = arr.filter[value => value === arr[i]].length;

Chúng tôi sử dụng câu lệnh if để kiểm tra xem

for [let i = 0; i < arr.length; i++] {
const count = arr.filter[value => value === arr[i]].length;
if [count % 2 == 1] {
return arr[i];
}
}
1 có phải là số lẻ không. Nếu đúng như vậy, chúng tôi dừng vòng lặp bằng cách trả về số

Nếu vòng lặp kết thúc, chúng tôi trả về -1 để nói rằng không có số nào như vậy với số lượng trùng lặp lẻ trong mảng

return -1;

Đó là nó

Đây là chức năng đầy đủ

Nếu bạn thấy thuật toán này hữu ích, hãy xem các bài viết về giải pháp thuật toán JavaScript khác của tôi

Thuật toán JavaScript. Lợn đơn giản Latin

Dịch một chuỗi sang Pig Latin

jav. tiếng Anh đơn giản. io

Thuật toán JavaScript. duy nhất theo thứ tự

Trả về một danh sách các mục duy nhất mà không thay đổi thứ tự ban đầu của các phần tử

lên cấp. gitconnected. com

Thuật toán JavaScript. Phân loại Thành viên mới

Tạo một hàm sẽ phân loại các thành viên câu lạc bộ croquet mới dựa trên dữ liệu trong một mảng

lên cấp. gitconnected. com

Tăng cấp mã hóa

Cảm ơn vì đã là một phần của cộng đồng của chúng tôi. Đăng ký kênh YouTube của chúng tôi hoặc tham gia Skilled. khóa học phỏng vấn lập trình dev

Điều quan trọng cần lưu ý là phương thức filter[] chấp nhận chức năng gọi lại. Hàm gọi lại này được gọi cho từng phần tử của mảng. Bên trong hàm gọi lại, bạn kiểm tra xem một số có chia hết cho 2 hay không, và để làm điều này, hãy sử dụng toán tử modulo [%]. Nếu giá trị trả về bởi toán tử modulo là 0, thì số đó chia hết cho 2;

Nếu một số không chia hết cho 2, thì hãy trả về

for [let i = 0; i < arr.length; i++] {
const count = arr.filter[value => value === arr[i]].length;
if [count % 2 == 1] {
return arr[i];
}
}
3 để nó trở thành một phần của mảng mới và bằng cách này, bạn có thể tìm thấy các số lẻ trong một mảng

Trong trường hợp bạn không muốn sử dụng phương thức filter[] thì có thể sử dụng phương thức forEach[]

Để tìm các số lẻ trong một mảng bằng phương thức forEach[], hãy làm theo các bước sau

  1. Đầu tiên, tạo một mảng trống, trong đó bạn sẽ lưu trữ các số lẻ của mảng
  2. Gọi phương thức
    for [let i = 0; i < arr.length; i++] {
    const count = arr.filter[value => value === arr[i]].length;
    if [count % 2 == 1] {
    return arr[i];
    }
    }
    4 trên mảng mà bạn muốn tìm các số lẻ
  3. Chỉ định điều kiện bên trong hàm gọi lại của phương thức forEach[]. Điều kiện sẽ kiểm tra xem một số có chia hết cho 2 hay không
  4. Nếu số không chia hết cho 2 thì đẩy phần tử mảng đó sang mảng mới tạo ở bước 1
let oddNumbers = [];
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

numbers.forEach[number => {
  if[number % 2 !== 0]{
    oddNumbers.push[number];
  }
}];
console.log[oddNumbers]; //[1, 3, 5, 7, 9]

Ghi chú. Phương thức forEach[] không sửa đổi mảng ban đầu

Phương thức forEach[] được sử dụng để lặp qua mảng. Nó chấp nhận một chức năng gọi lại. Hàm gọi lại này được gọi trên từng phần tử của mảng

Để lọc các số lẻ của một Array số nguyên trong JavaScript, hãy gọi Array. filter[] trên mảng số nguyên này và truyền một hàm làm đối số trả về true cho một số lẻ hoặc false nếu ngược lại. phương thức filter[] trả về một mảng có các phần tử từ mảng ban đầu trả về true cho hàm gọi lại đã cho

Ví dụ

Trong đoạn script sau, chúng tôi lấy một mảng số nguyên arr và lọc các số lẻ trong Mảng này. Chúng tôi chuyển một hàm lambda cho phương thức filter[]

mục lục. html

Chạy Đặt lại

Phần kết luận

Trong Hướng dẫn JavaScript này, chúng ta đã học cách sử dụng Array. phương pháp filter[] để lọc các số lẻ của một mảng số nguyên với các ví dụ

Làm cách nào để tìm số lẻ trong JavaScript?

Sử dụng Bitwise OR Toán tử . Nếu số đó tăng thêm 1 thì là số chẵn. Lấy 1011 HOẶC 1 1011 0001 ------ 1011 Ở đây các bit đầu ra bằng 11 do đó 11 là một số lẻ. When a number undergoes bitwise OR with 1 and if the result is the same number, it is an odd number. If the number gets incremented by 1, it is an even number. Take 1011 OR 1 1011 0001 ------ 1011 Here the output bits are equal to 11 hence 11 is an odd number.

Làm cách nào để lọc các số lẻ trong một mảng JavaScript?

Để lọc các số lẻ của Mảng số nguyên trong JavaScript, gọi Array. filter[] trên mảng số nguyên này và truyền một hàm làm đối số trả về true cho số lẻ hoặc trả về false nếu không . phương thức filter[] trả về một mảng có các phần tử từ mảng ban đầu trả về true cho hàm gọi lại đã cho.

Làm cách nào để tìm số chẵn trong mảng trong JavaScript?

Tìm số chẵn trong mảng. .
Khai báo một biến và khởi tạo nó thành một mảng trống
Sử dụng mảng. phương thức forEach[] để lặp qua mảng
Kiểm tra xem mỗi số không có số dư khi chia cho 2
Nếu không có phần dư, hãy đẩy số vào mảng số chẵn

Làm cách nào để tách số chẵn và số lẻ trong mảng trong JavaScript?

log[seperateArray[numbers]]; Điều này hoạt động bằng cách sử dụng dấu modulo '%' trả về phần còn lại sau khi chia một số. Vì vậy, trong trường hợp này, tất cả các số lẻ chia cho 2 sẽ trả về số dư là 1 và tất cả các số chẵn sẽ trả về 0.

Chủ Đề