2017-03-03 34 views
1

我有一個按鈕陣列,其中包含'selected'和'deselected'狀態。我該如何去檢查數組中的任何按鈕是否處於「選定」狀態。檢查數組中的任何項目是否處於某種狀態:coffeescript

所以基本上我想是這樣(使用成幀器的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

我不確定是否由'任何',你的意思是所有這些或他們中的一些,但有Array.prototype方法稱爲someevery

語法是buttonArray.some(button => button.state.current == "selected")

這是在JavaScript中,coffescript應該有類似

東西,你也可以使用lodash庫的版本someevery

或者只是在循環中計數它們。

+0

我想我想要1?例如:我的陣列中有10個按鈕。我可以點擊每個按鈕來循環選擇和取消選擇狀態。如果至少有一個按鈕處於選中狀態 - >運行activateMainButton()(此按鈕不是按鈕Array的一部分)。這是我的原型。去種族部分http://share.framerjs.com/11abcrlne5op/ – aalok89

+0

另外我的編程知識不是很先進,所以原諒我。 – aalok89

+0

因此,您正在尋找'some'方法,如果至少有一個項目會爲您提供的輸入函數返回true,則會返回true。 –

相關問題