2017-05-15 168 views
0

我想獲得它的外面foreach循環內部產生一個變量的值內部產生一個變量的值,請看代碼片段:的JavaScript - 獲取foreach循環

var variable = ""; 

    array.forEach(el=>{ 
    variable = el.checkStatus; 
    }) 

    //How to get the value of variable here ? 
+1

簡單地說'return variable' – Corrado

+1

'variable'將包含最後一個數組元素的值。也許這就是困擾你的事情?你可以通過寫'array [index] .checkStatus'來訪問'array'的任何元素。 –

+1

呃...什麼?回調的返回形式沒有文檔化的效果,'variable'將包含最後一個數組元素*的值,沒有*任何return語句。 –

回答

1
var statuses = array.map(el => { 
    return el.checkStatus; 
    }) 

然後簡單地調用取決於狀態的狀態[索引]你想

+0

@le_m:可能更簡單,但不會完成OP要求的內容。這個答案確實是OP顯然試圖做的(儘管沒有使用OP所要求的實現細節,所以可能適用或不適用於它們的實際用例) –

+0

取決於用例,看起來像OP想要訪問所有數組狀態' – Morleee

+0

在這種情況下,再次調用'statuses [index]'我需要運行for循環!所以我會回到起點 –

0

你可以做variable每個元素checkStatus值的數組。

var variable = new Array(); 

array.forEach(el => { 
    variable.push(el.checkStatus()); 
}) 

這將使用數組map功能雖然可以更優雅的完成。

var variable = array.map(el => el.checkStatus())