数组随机选取

2023-10-17  本文已影响0人  码农界四爷__King

function arraySample(array, n) {
  var _result = [];
  var _index = 0;
  // 防止原数组被改变
  var _arrayTemp = array.slice(0);
  if (array == null || array.length == 0) {
      return _result;
  }
  // 随机获取一个值
  if (n == null) {
      _index = Math.floor(Math.random() * array.length);
      _result.push(array[_index]);
  } else {
      // 随机获取N个值
      for (var i = 0; i < n; i++) {
          _index = Math.floor(Math.random() * _arrayTemp.length);
          if (_arrayTemp[_index]) {
              _result.push(_arrayTemp[_index]);
          }

          // 删除该元素
          _arrayTemp.splice(_index, 1);
      }
  }
  return _result;
}
上一篇下一篇

猜你喜欢

热点阅读