2016-07-07 4 views
-2

Я хочу обновить существующий ключ с динамическим объектом массива, как я могу сделать этоКак обновить JSON массив с динамическим ключом

var groupData = [ 
    { 
    "Logon": 0, 
    "Logon": 1 
    }, { 
    "Logoff": 0 
    }, { 
    "Special Logon": 0 
    }, { 
    "Other System Events": 0 
    }, { 
    "System Integrity": 0 
    }, { 
    "Other Logon/Logoff Events": 0 
    }, { 
    "Security State Change": 0 
    }, { 
    "Audit Policy Change": 0 
    }, { 
    "Security Group Management": 0 
    } 
]; 

var key = logon; 
var val = 10; 
groupData[0].key = val; 
+0

actully Я получаю ключ динамически. Я не знаю, какой ключ в моем массиве, почему я хочу обновить в соответствии с динамическим ключом – Bhagya

+0

'{" Logon ": 0," Logon ": 1}' ==> '{" Logon ": 1}' –

+0

Да , Я понял. ':)' Проверьте ответ. ':)' –

ответ

3

Вы должны использовать [] обозначения, вам нужно значение внутри key а не сам key:

groupData[0][key] = val; 

Легенда:

Object[key]; // Value of key index in Object. 
Object.key; // "key" index in Object. 

Кроме того, похоже, что вам нужно заменить:

var key = "Logon"; 
1

Попробуйте следующее:

var key = logon; 
var val = 10; 
groupData[0].key = val; 

в

var key = "Logon"; 
var val = 10; 
groupData[0][key] = val; 
1

Я думаю, что вы имеете в виду это

key = 'Logon'; 
val = 10; 
groupData[0][key] = val; 
0

Вы можете попробовать:

var key = 'Logon'; 
var val = 10; 
groupData[0][key] = val; 
+0

Nopes. Не правильно. –

+0

Отредактировано! что теперь ...? – lovecode

+0

Er .. Все еще неправильно. В любом случае, см. Мое редактирование. ':)' –

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