从每个语句中重复4个以上的随机响应[重复]

问题描述 投票:1回答:1

此问题已经在这里有了答案:

我在JSON文件中有一些数据,大约有20个条目。我想做的是每次页面加载时随机显示其中4个条目。

var data = [
  {'name': 'Bill'},
  {'name': 'Sally'},
  {'name': 'George'},
  {'name': 'Steve'},
  {'name': 'Jill'},
  {'name': 'Jeff'}
];

$.each(data, function(i) {
  var name = data[i].name;
  // Select 4 at random
  $('.results').append('<div>' + name + '</div>');
  
  if(i === 3) {  
    return false;
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="results"></div>

我能够做到这一点,使其只在条件语句中显示4,但是我如何修改它以使其选择随机的4而不是前4?

javascript each
1个回答
-1
投票

您可以使用这条鳕鱼。

    var rndList=[];
    var len=data.length
      while(rndList.length<4){
      var rnd=Math.floor((Math.random() * (len-1)) + 0);
       if(rndList.indexOf(rnd)==-1)
       {
        rndList.push(rnd)
       }
      }

    $.each(rndList, function(i) {

    var name = data[i].name;

      $('.results').append('<div>' + name + '</div>');

    });
© www.soinside.com 2019 - 2024. All rights reserved.