我看到很多關於隨機選擇數組項沒有重複的問題。然而,他們中的大多數是通過拼接方法來回答的。但是這會刪除項目。隨機選擇數組項沒有刪除項目沒有重複項(JavaScript)
我已經隨機選擇了我的物品,但它們正在重複。在我的兩個功能中,我從每個隨機選擇的項目中選擇兩個「子項目」。這兩個函數不能一起工作,我正在尋找一種方法,可以選擇兩個不同的隨機選擇的項目,而不必重複,也不需要刪除它們。有人可以幫我嗎?
(使用Adobe Edge Animate中)
var xml_source = "series.xml";
var initLoadScript = false;
var items = [];
var itemTitle1;
var obj = new Object();
var previousNumber = -1;
loadXML();
function loadXML() {
\t $.ajax({
\t \t type: "GET",
\t \t url: xml_source,
\t \t dataType: "xml",
\t \t success: function(xml) {
\t \t \t $(xml).find('sbs').find('channel').find('item').each(function() {
\t \t \t \t items.push($(this));
\t \t \t });
\t \t \t itemOne();
\t \t \t itemTwo();
\t \t }
\t });
}
function itemOne(){
\t var randomNumber = Math.floor(Math.random()*14);
\t var assignItem = randomNumber;
\t console.log("random nummer 1: " + assignItem);
\t sym.$("TitleText1").html(items[assignItem].find("author_name").text());
\t sym.$("Image1").html("<img src='"+items[assignItem].find('media\\:content, content').find('media\\:thumbnail, thumbnail').attr('url')+"' width='145'/>");
}
function itemTwo(){
\t var randomNumber = Math.floor(Math.random()*14);
\t var assignItem = randomNumber;
\t console.log("random nummer 2: " + assignItem);
\t sym.$("TitleText2").html(items[assignItem].find("author_name").text());
\t sym.$("Image2").html("<img src='"+items[assignItem].find('media\\:content, content').find('media\\:thumbnail, thumbnail').attr('url')+"' width='145'/>"); \t
}
XML結構的例子:
<?xml version="1.0" encoding="UTF-8" ?>
<sbs version="1.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>Feed</title>
<description>Video</description>
<link>//www.URL.com</link>
<lastBuildDate>Fri</lastBuildDate>
<pubDate>Fri</pubDate>
<ttl>1</ttl>
<item>
<title>title</title>
<description>aflevering</description>
<link>//www.google.com</link>
<guid>//www.google.com</guid>
<formatname>berg</formatname>
<pubDate>Wed</pubDate>
<!-- oEmbed -->
<oembed>
<version>1.0</version>
<type>video</type>
<provider_name>provider</provider_name>
<provider_url>http://www.video.nl/url</provider_url>
<width>10</width>
<height>10</height>
<title>title1</title>
<author_name>author name</author_name>
<author_url>http://www.google.com/</author_url>
</oembed>
<media:content
url="http://google.com"
type="text/html"
medium="document"
expression="full"
height="10"
width="10"
lang="us">
<media:title type="plain">title</media:title>
<media:description type="plain">title descr</media:description>
<media:thumbnail url="http://google.com/tiger.jpg" width="10" height="10" />
</media:content>
</item>
您將有兩個數組:一個是原始的,而另一個是重複的。隨意移除副本中的隨機項目,這樣可以確保它們不會重複。 – mattsven 2015-02-07 16:49:48
可以發佈'series.xml'嗎? – guest271314 2015-02-07 17:44:14
@ guest271314由於項目的隱私原因,我無法共享完整的XML。但在這種情況下,我只需要XML文件的和節點。 –
2015-02-07 18:49:28