2016-01-05 4 views
0

Как это написать?Ключ объекта становится строкой «ключ»

chatBox_array.push({key:val_d65f}); 

Они «ключ», как-то доходит до «ключа»: значение, для объектов вместо значения внутри ключа. Это становится чем-то вроде следующего.

0: Object 
key: "false" 
__proto__: Object 
1: Object 
key: "blue" 
__proto__: Object 

Вот полный код.

var chatBox_vars = [{'return_url':chatBox_return_url},{'base_color':chatBox_base_color}, 
{'mid_color':chatBox_mid_color}, 
{'init_open':chatBox_init_open}, 
{'init_open':chatBox_mx_logo}, 
{'welcome_msg':chatBox_welcome_msg},  
{'clientid':chatBox_clientid}]; 

    var chatBox_array = []; 

    for (var i=chatBox_vars.length;i--;){ 
      var item_6dds3=chatBox_vars[i]; 

      for (var key in item_6dds3) { 
       if (Object.prototype.hasOwnProperty.call(item_6dds3, key)) { 
       var val_d65f = item_6dds3[key]; 
        if (val_d65f == null || val_d65f == 'undefined' || val_d65f == ''){} else { 
         console.log(key); 
         chatBox_array.push({key:val_d65f}); 
        } 
       } 
      } 
    } 

ответ

2

Попробуйте создать объект перед установкой свойства

var obj = {}; obj[key] = val_d65f; 
chatBox_array.push(obj); 
+0

Это делает. Почему это работает? – Relm

+1

Заменена с использованием скобкой для установки свойства с использованием ссылки на переменную 'key' для установки« ключа »как свойства для каждого литерала объекта. См. Http://stackoverflow.com/questions/1168807/how-can-i-add-a-key-value-pair-to-a-javascript-object/ – guest271314

Смежные вопросы