2017-04-06 40 views
-2

數組裏面我有下面的代碼:進入一個深度嵌套的字段對象

var ops = [{ 
    label: 'Primary Colors', 
    options: [{ 
     label: 'Yellow', 
     value: 'yellow' 
    }, { 
     label: 'Red', 
     value: 'red' 
    }, { 
     label: 'Blue', 
     value: 'blue' 
    }], 
    label: 'Secondary Colors', 
    options: [{ 
     label: 'Pink', 
     value: 'yellow' 
    }, { 
     label: 'Pink', 
     value: 'Pink' 
    }, { 
     label: 'Violet', 
     value: 'violet' 
    }] 
} 

我想創建一個包含選項數組像這裏面的值字段中的所有值的變量:value = [yellow, red, blue, yellow, pink, violet]。有任何想法嗎?

+0

你做了什麼嘗試?如果是這樣,請發佈它們,社區可以在下一步要做的事情上做出貢獻。 – Pineda

+0

您的對象中有重複的鍵。 –

回答

1

您可以用JavaScript做foreach方法

var ops=[{label: 'Primary Colors', 
 
options: [{label: 'Yellow',value: 'yellow'}, 
 
{label: 'Red',value: 'red'}, 
 
{label: 'Blue',value: 'blue'}]}, 
 
{label: 'Secondary Colors', 
 
options: [{label: 'Pink',value: 'yellow'},{label: 'Pink',value: 'Pink'},{label: 'Violet',value: 'violet'}]}];  
 

 
var arr =[];var obj = []; 
 
arr = ops.forEach(function(o){ 
 
    var a = o.options; 
 
    a.forEach(function(option) { 
 
    
 
    obj.push(option.value); 
 
\t }); 
 
}); 
 
console.log(obj);

Fiddle Working Demo

注意:您提供修改的數據,因爲一些關閉標籤(}])不按正確的順序。