js在數組arr中隨機獲取count數量的元素


// 在數組arr中隨機獲取count數量的元素;
const getRandomArrayElements = (arr, num) => {
  // 新建一個數組,將傳入的數組復制過來,用於運算,而不要直接操作傳入的數組;
  let temp_array = new Array();
  for (let index in arr) {
    temp_array.push(arr[index]);
  }
  // 取出的數值項,保存在此數組
  let return_array = new Array();
  for (let i = 0; i < num; i++) {
    // 判斷如果數組還有可以取出的元素,以防下標越界
    if (temp_array.length > 0) {
      // 在數組中產生一個隨機索引
      let arrIndex = Math.floor(Math.random() * temp_array.length);
      // 將此隨機索引的對應的數組元素值復制出來
      return_array[i] = temp_array[arrIndex];
      // 然后刪掉此索引的數組元素,這時候temp_array變為新的數組
      temp_array.splice(arrIndex, 1);
    } else {
      // 數組中數據項取完后,退出循環,比如數組本來只有10項,但要求取出20項.
      break;
    }
  }
  return return_array;
};

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM