更改嵌套对象键的值

时间:2020-07-29 20:24:48

标签: javascript arrays json for-loop object

在更改对象数组中的键的值时遇到问题。我正在使用的对象非常复杂,数组中的每个对象内部的键数可能不同,但是JSON的基本内容如下:

var payload = {
    "data": {
        "form_values": {            
            "70f9": [
                {
                    "form_values": {
                        "6949": "drop"                       
                    },                    
                },
                {                   
                    "form_values": {                        
                        "6949": "drop"                        
                    },
                    
                },
                {                    
                    "form_values": {                        
                        "6949": "drop"                        
                    },
                    
                }
            ],            
        },        
    }
}

我一直试图将'drop'更改为'active',例如:

for (var i = 0; i < payload.data.form_values['70f9'].length; i++ ){
    var payload.data.form_values['70f9'][i].form_values['6949'] = 'active'
}

我觉得这正常,但是由于某种原因,这次我遇到了问题

1 个答案:

答案 0 :(得分:0)

您每次在循环中都会错误地声明变量:

 var payload.data.form_values['70f9'][i].form_values['6949'] = 'active'

您必须取出var

for (var i = 0; i < payload.data.form_values['70f9'].length; i++ ){
   payload.data.form_values['70f9'][i].form_values['6949'] = 'active'
}