나는 JavaScript가 처음인데 52 개의 카드 세트에서 무작위로 카드를 생성하는 작은 앱을 만들었다. (배열에 모든 가능성을 저장했다.) 하지만 같은 카드를 두 번 생성 할 수 없도록하고 싶습니다. 그렇게 할 길을 찾을 수 없었습니다.배열에서 자바 스크립트 삭제 값
var cardType = ["A♠","2♠","3♠","4♠","5♠","6♠","7♠","8♠","9♠","10♠","J♠","Q♠","K♠"];
function generateCard()
{
var card = cardType[Math.round(Math.random() * (cardType.length - 1))];
}
스페이드 기호는 실제로 배열에 표시되지 않습니다. 단지 가시성을 위해 넣었습니다.
이 발생하는 경우 모든 카드 및 전화 생성 FN, 당신의 실행은 문제가 될 것입니다 – OzrenTkalcecKrznaric
@ OzrenTkalčecKrznarić - 네, 그럴 것입니다, 나는 그것에 대한 수 표를 추가하지 않았습니다. 명백하게 보였으 나 지금 추가 할 것입니다. – adeneo
이 코드 (그리고 질문에 게시 된 코드)의 근본적인 문제는 함수 내부에 배열을 정의한다는 것입니다. 즉, 함수가 호출 될 때마다 다시 설정되므로 이미 갖고있는 카드를 추적해야합니다. 훨씬 더 효율적인 솔루션에 대한 내 대답을 참조하십시오. – Dogoku