gpt4 book ai didi

javascript - 在Javascript : Load some collection of data,中随机排序,返回输出

转载 作者:行者123 更新时间:2023-11-28 02:53:25 25 4
gpt4 key购买 nike

我正在加载一些 XML 数据,将其构建到无序列表中并显示它。我现在需要对这些数据进行排序,以便每次加载时都以随机顺序显示。我是否需要完全改变我在下面执行此操作的方式,或者是否有一种简单的方法来获取数据并在使用现有代码对其进行格式化之前对其进行排序以进行输出?

这是直接加载和显示代码:

var out = '<li>';
$(xml).find('person').each(function(){
counter++;

var person_image = $(this).find('person_image').text();
var person_name = $(this).find('person_name').text();
var person_title = $(this).find('person_title').text();
var person_company = $(this).find('person_company').text();

out = out + '<div><a href="foo/'+ belongsTo +'.php#'+ person_image +'"><img src=/images/' + belongsTo + '/' + person_image + '.jpg />' + '<br /><label><span>' + person_name + '</span><br />' + person_title + '<br />' + person_company + '</label></a><br /></div>';

if(counter % 3 === 0 && counter !== total){
out = out + '</li><li>';
}
});
out = out + '</li>';
$('#display_block').html(out);

正如您所看到的,我在加载列表项时按照从 XML 检索它们的顺序构建列表项...这就是我需要随机排序的内容。我想我需要先获取所有内容(放入数组?关联数组?对象?不知道如何最好地做到这一点),随机排序,然后迭代构建我的 out 变量?

我该如何做上面所做的事情,但在此过程中坚持某种随机排序?

至于随机排序,我想出了以下似乎有效的方法:

function randomsort(a, b){ a=Math.random(); b = Math.random(); return a - b }

只需要知道如何收集数据,以便我可以应用这种排序。谢谢!

最佳答案

您可以创建一个与 XML 中“person”元素数量相同长度的单独数组。使用 XML 元素的键(0 到 n)填充此数组,并使用您的函数对其进行随机排序。然后,只需继续从该数组中移出项目,并使用获得的值来访问 XML 元素的集合。

这样,您就不必操作 XML 数据(破坏原始结构)并保留大部分已有代码。

关于javascript - 在Javascript : Load some collection of data,中随机排序,返回输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3277135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com