如何新建一个有重复元素的数组

类似['a','b','c','d','e','a','b','c','a','b','c','a','b','c']这样的 有没有高级点的写法

阅读 2.4k
3 个回答

function getArr($count)
{

$str = 'abc';
$arr = array();
for($i=0;$i<$count;$i++)
{
    $rand = rand(0,2);
    $arr[] = $str[$rand];
}

}
$count为你想要新建的数组的个数,主要利用能通过下标获取字符串的某个字符

function repeatArr(arr, len, start) {
  var ret = [];
  for (var i = start || 0; i < len; i++) {
    ret.push(arr[i%arr.length]);
  }
  return ret;
}
repeatArr('abcde'.split(''), 10);
//["a", "b", "c", "d", "e", "a", "b", "c", "d", "e", "a", "b", "c", "d"]
function repeatArr(arr, repeats) {
  var ret = [];
  for (var i = 0; i < repeats.length; i++) {
    for (var j = repeats[i][0]; j < repeats[i][1]; j++) {
      ret.push(arr[j % arr.length]);
    }
  }
  return ret;
}
repeatArr('abcde'.split(''), [[0, 5], [0, 3], [0, 3]]);
//["a", "b", "c", "d", "e", "a", "b", "c", "a", "b", "c"]

Array( 10000 ).fill( 0 ).map( o => String.fromCharCode( Math.floor( Math.random() * 26 ) + 97 ) )

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题