Javascript函数在将结果返回到类时覆盖所有结果

Javascript函数在将结果返回到类时覆盖所有结果,javascript,html,Javascript,Html,我已经创建了一个javascript函数,将一个包含72个条目的json文件中的6个结果随机化,并试图将它们返回到一个类中。然而,它只返回一个结果。我想知道是否有人能帮我把字符串返回给一个类?或者一个接一个地显示结果 这是我的javascript <script> function getitems() { var arr = []; for (var i = 0, l = 6; i < l; i++) { arr.push(Ma

我已经创建了一个javascript函数,将一个包含72个条目的json文件中的6个结果随机化,并试图将它们返回到一个类中。然而,它只返回一个结果。我想知道是否有人能帮我把字符串返回给一个类?或者一个接一个地显示结果

这是我的javascript

<script>
function getitems() {
    var arr = [];
        for (var i = 0, l = 6; i < l; i++) {
            arr.push(Math.floor((Math.random()*72)+1))
        }
    $.getJSON('items.json',function(data) {
        for ( var i = 0; i < 6; i++ ) {
            var items = data.result.items[arr[i]].item.toString();
            $('.item-name').html(items);
        }
    }).error(function(){
    });
}
    $('#refreshItem').click(function() { 
    getitems();

});
</script>

函数getitems(){
var-arr=[];
对于(变量i=0,l=6;i
这段代码只是将一个项目接一个项目填充到同一组HTML元素中,代码行为
$('.item name').HTML(items)

注意,这并不能保证六个随机结果中的每一个都是不同的。您可能会重复相同的结果。我也不确定为什么要将
1
添加到随机结果中,因为我假设data.result.items是一个基于零的数组,所以您也希望包含
0
索引


如果您还想确保每个随机结果都是唯一的,您可以这样做:

function getitems() {
    var arr = [];
    for (var i = 0; i < 6; i++) {
        arr.push(Math.floor((Math.random()*72)+1));
    }
    $.getJSON('items.json',function(data) {
        var items = $('.item-name');
        for ( var i = 0; i < 6; i++ ) {
            var result = data.result.items[arr[i]].item.toString();
            items.eq(i).html(result);
        }
    }).error(function(){
    });
}
function getitems() {
    var arr = [], used = {}, val;
    for (var i = 0; i < 6; i++) {
        do {
            val = Math.floor((Math.random()*72)+1);
        } while (!(val in used));
        used[val] = true;
        arr.push(val);
    }
    $.getJSON('items.json',function(data) {
        var items = $('.item-name');
        for ( var i = 0; i < 6; i++ ) {
            var result = data.result.items[arr[i]].item.toString();
            items.eq(i).html(result);
        }
    }).error(function(){
    });
}
函数getitems(){ var arr=[],used={},val; 对于(变量i=0;i<6;i++){ 做{ val=数学楼层((数学随机()*72)+1); }而(!(使用val)); 已用[val]=真; arr.push(val); } $.getJSON('items.json',函数(数据){ 变量项=$('.item name'); 对于(变量i=0;i<6;i++){ var result=data.result.items[arr[i].item.toString(); items.eq(i).html(结果); } }).错误(函数(){ }); }
使用

代替:

$('.item-name').html(items);

非常感谢:)非常有用。@user2933987-您是否理解在StackOverflow上,您应该向社区指出哪些答案是有用的?这既奖励提供有用答案的人(加上分数),也奖励你遵循正确的程序。奖励有用答案的两种方式是:选择最有用的答案并选中答案左侧的复选标记,然后单击答案左侧的向上箭头向上投票。投票表决任何其他有用的答案。您将始终能够选择复选标记。升级投票可能需要您先获得一些声誉点数。然后我如何获得它,以便在按钮上单击它以新结果替换类,而不是不断添加?在按钮上单击下面的添加代码:$('.item name').empty();后跟添加新结果的代码:$('.item name').html(items);
$('.item-name').append(items);
$('.item-name').html(items);