Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách chọn ngẫu nhiên phần tử từ mảng - JavaScript


Giả sử chúng ta có mảng chữ số không chứa bản sao như sau:

const arr = [2, 5, 4, 45, 32, 46, 78, 87, 98, 56, 23, 12];

Chúng ta cần viết hàm nhận vào mảng các chữ số duy nhất và một số n. Hàm trả về mảng n phần tử chọn ngẫu nhiên từ mảng đầu vào, không phần tử nào xuất hiện hơn một lần trong kết quả.

Ví dụ

Dưới đây là đoạn code:

const arr = [2, 5, 4, 45, 32, 46, 78, 87, 98, 56, 23, 12]; 
const chooseRandom = (arr, num = 1) => { 
  const res = []; 
  for(let i = 0; i < num; ){ 
    const random = Math.floor(Math.random() * arr.length); 
    if(res.indexOf(arr[random]) !== -1){ 
      continue; 
    }; 
    res.push(arr[random]); 
    i++; 
  }; 
  return res; 
}; 
console.log(chooseRandom(arr, 4));

Kết quả

Đoạn code sẽ in ra console:

[ 5, 2, 4, 78 ]