2016-06-06 4 views
0

현재 저는 새로운 카드 게임을하고 있습니다. 하나의 배열에 숫자가 가득 찼습니다. 또한 많은 함수를 가진 하나의 객체가 있습니다. 매번 객체 함수를 실행할 때마다 함수에서 하나의 함수를 반환하지만 배열의 첫 번째 숫자가 아니기 때문에 아무도 도와 줄 수 없습니까?어떻게이 함수를 반환하지 않고 숫자를 반환 할 수 있습니까?

배열 :

var cardDatabase = createDeck([].concat.apply([], new Array(10).fill().map((_, k) => new Array(4).fill(k + 1)))) 

객체 + 기능 (네, 매우 복잡한 방법은 4 시간마다 1 ~ numer에 10 하나 개의 배열을 만들려면) : 당신이 뭔가를 찾고 계십니까

function createDeck (array) { 
    var cardDatabase = array 

    return { 
    peek: function() { 
     return cardDatabase[cardDatabase.length - 1] 
    }, 
    } 
} 
+2

, .peek' 함수 자체를 반환합니다. 그러나, * .peek()를 사용하여 함수를 호출하면 실제로 함수의 결과가 반환됩니다. – juvian

+2

의 .peek하고있는 – shamsup

+0

@juvian이 맞았습니다. 고마워요! –

답변

0

을 이?

var createDeck = function() { 
    this.cardDatabase = [1,2,3,4,5,6,7,8,9,10]; 

    this.peek = function() { 
     return this.cardDatabase[this.cardDatabase.length - 1]; 
    }; 
    return this; 
} 

(new createDeck).peek();

.peek` 함수 객체가`에 액세스하는 재산이다 '때문에 당신은 아마 대신 @juvian의 의견에 명확히 .peek()
+0

생성자 함수는 대문자로 된 이름을 가져야하고'이것을 반환 할 필요는 없습니다. ' 또한,'peek' 메소드를위한 프로토 타입을 사용하십시오. – Bergi

관련 문제