2016-10-22 52 views
1

信息:我將一個名稱數組分類爲兩個數組,其中一個名稱以A-M,N-Z開頭。我希望每個條目都是名稱作爲屬性和空字符串作爲值的對象,就像這樣 - > {'Name':''},但是所有條目都是這樣的 - > {val: ''}爲什麼它推送參數名稱而不是元素? JavaScript

這就是我如何推入條目 - > arrAM.push({val:''});

問題:我該如何修改^^^^這個方法來取得名字而不是val。謝謝你的幫助!

var separate = function(array){ 
    var arrAM = []; 
    var arrNZ = []; 
    _.each(array, function(val){ 

    if (/^[a-m]/i.test(val)){ 
     arrAM.push({val: ''}); 
    } 
    else{ 
     arrNZ.push({val: ''}) 
    } 
}) 
return arrAM; 
} 

回答

3

ES6在對象初始化爲computed property names一個語法糖:

arrAM.push({[val]: ''}); 

預ES6您需要使用括號語法在一個單獨的語句:

var obj = {}; 
obj[val] = ''; 
arrAM.push(obj); 
相關問題