2017-03-03 14 views
1

'selected'및 'deselected'상태의 버튼 배열이 있습니다. 배열의 버튼이 'selected'상태인지 확인하려면 어떻게해야합니까?배열의 모든 항목이 특정 상태에 있는지 확인하십시오. coffeescript

그래서 기본적으로 나는 (프레이머 커피 스크립트를 사용하여) 같은 것을 원하는 :

for button in buttonArray 
    button.onClick -> 
     this.stateCycle("selected", "default") 

     if any button in buttonArray state.current == "selected" 
      activateMainButton() 
     else 
      deactivateMainButton() 

여기 내 프로토 타입입니다 : http://share.framerjs.com/11abcrlne5op/ (민족성 섹션으로 이동이).

답변

1

'모든 것'으로 모두 또는 일부를 의미하는지 확실하지 않지만 someevery이라는 Array.prototype 메서드가 있습니다.

구문이 자바 스크립트에 buttonArray.some(button => button.state.current == "selected")

가, 커피 스크립트 당신은 또한 lodash 라이브러리의 버전 someevery을 사용할 수 있습니다

비슷한해야합니다.

또는 루프에 카운터를 만들어 계산하십시오.

+0

나는 1을 원한다고 생각하니? 예 : 배열에 10 개의 버튼이 있습니다. 각 버튼을 클릭하여 선택 상태와 선택 해제 상태를 순환 할 수 있습니다. 적어도 하나의 버튼이 선택된 상태에있는 경우 -> activateMainButton()을 실행합니다 (이 버튼은 버튼 배열의 일부가 아닙니다). 여기 내 프로토 타입입니다. 민족성 섹션으로 이동하십시오. http://share.framerjs.com/11abcrlne5op/ – aalok89

+0

또한 프로그래밍 지식은 매우 발전되지 않았으므로 저를 용서하십시오. – aalok89

+0

그래서'some' 메쏘드를 찾고 있는데, 적어도 하나의 아이템이 여러분이 입력 함수에 대해 true를 리턴하면 true를 리턴합니다. –