2013-02-11 3 views
0

JavaScript 기본 사항을 계속 작업하고 있습니다. 다음 코드는 올바른 이미지와 속성을 출력하지만 이미지를 랜덤 화하고이를 수행하는 방법을 모르겠습니다. 피셔 - 예이츠 셔플 사용에 대한 다른 기사를 찾았지만 구현할 수없는 것처럼 보입니다. 올바른 결정인지 확실하지 않습니다.여러 JavaScript 배열 무작위 화

var counter = 0; 
var pictures = new Array(); 

    pictures[counter++] = ['http://example.com','img/pic1.jpg','Pic Logo']; 
    pictures[counter++] = ['http://example2.com/','img/pic2.jpg','Pic 2 Logo']; 
    pictures[counter++] = ['http://example3.com/','img/pic3.jpg','Pic 3 Logo']; 

    function showImages() { 
     var i = 0; 
     for (var p = pictures.length-1; p >= 0; p--) { 
      document.write('<div class="images"><a href="' + pictures[p][0] + '"><img src="' + pictures[p][1] + '" alt="' + pictures[p][2] + '" title="' + pictures[p][2] + '" /></a></div>'); 
      i++; 
     } 
    } 

편집 :가 어떻게 내 원래의 코드와 유사 내 사진 배열의 특정 항목에 액세스 할 수 있습니까? - http://jsfiddle.net/chris_s/eW9Tm/

+0

언더 코어는이 셔플 방법을 수행하는 [셔플 기능] (http://underscorejs.org/#shuffle)을 제공합니다. [http://underscorejs.org/docs/underscore.html#section-29] –

답변

1

당신은 배열을 랜덤 조나스 실바의 shuffle 기능을 사용할 수 있습니다

//+ Jonas Raoni Soares Silva 
//@ http://jsfromhell.com/array/shuffle [v1.0] 
function shuffle(o){ //v1.0 
    for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); 
    return o; 
}; 

당신은 다음과 같이 호출 : shuffle(pictures);합니다.

+0

나는 이것을 이해할 수 있다고 생각하지만, 어떻게하면 html과 특정 인덱스 항목을 반환 할 수 있습니까? 원래 코드? 이 실제로 콘솔에 인쇄 할 수 있지만 DOM http://jsfiddle.net/chris_s/EDTjZ/ 쓰는 방법을 잘 모르겠습니다. –