Javascript 如何更改对象的值。我在Google Apps Scipts环境中编写代码

Javascript 如何更改对象的值。我在Google Apps Scipts环境中编写代码,javascript,Javascript,假设公寓有4扇窗户 有以下数组 var windowAction= [ ["1. open", "1. close"], ["2. open", "2. close"], ["3. open", "3. close"], ["4. open",

假设公寓有4扇窗户

有以下数组

        var windowAction= [
            ["1. open", "1. close"],
            ["2. open", "2. close"],
            ["3. open", "3. close"],  
            ["4. open", "4. close"],
          ];
    
    
最初,所有窗口都是打开的。 我用以下对象的形式写了这个

     var window= {
              "window":[
                [{"action": windowAction[0][0]}],
                [{"action": windowAction[1][0]}],
                [{"action": windowAction[2][0]}],
                [{"action": windowAction[3][0]}]
              ]
            };
关闭1号窗口后,需要将对象更改为

    var window= {
              "window":[
                [{"action": windowAction[0][1]}],
                [{"action": windowAction[1][0]}],
                [{"action": windowAction[2][0]}],
                [{"action": windowAction[3][0]}]
              ]
            };
如果我们关闭第三个窗口,就会有

 var window= {
          "window":[
            [{"action": windowAction[0][1]}],
            [{"action": windowAction[1][0]}],
            [{"action": windowAction[2][1]}],
            [{"action": windowAction[3][0]}]
          ]
        };
反之亦然,如果我们打开第一个窗口,它将

     var window= {
              "window":[
                [{"action": windowAction[0][0]}],
                [{"action": windowAction[1][0]}],
                [{"action": windowAction[2][1]}],
                [{"action": windowAction[3][0]}]
              ]
            };
请告诉我怎么换

我试着用开关盒写字,但一路上我意识到它不起作用

我需要一个物体的形式

先谢谢你

这是我的尝试:

function checker(windowObj, userInput){    
    for (var i = 0; i < 4; i++){
        if (windowAction[i][0] == userInput){
            windowObj[i] = windowAction[i][1];          
        }
        else {
            windowObj[i] = windowAction[i][0];
        }
    }
}

var windowAction = [
    ["1. open", "1. close"],
    ["2. open", "2. close"],
    ["3. open", "3. close"],  
    ["4. open", "4. close"]
];
    
var windowObj = [
    windowAction[0][0],
    windowAction[1][0],
    windowAction[2][0],
    windowAction[3][0]
];



  
var userInput = "1. open";
    
checker(windowObj, userInput);  
print(windowObj);


userInput = "2. open";

checker(windowObj, userInput);  
print(windowObj);


userInput = "1. close";

checker(windowObj, userInput);  
print(windowObj);

请不要调用变量
窗口
,它的JS保留字以及其他

如果我理解正确,您需要一种方法来更改对象特定属性的值吗

windowobj.window[0][0].action=windowAction[0][1]
您可以很容易地针对特定的目标,只需遵循您的索引即可

var windowAction=[
[“1.打开”、“1.关闭”],
[“2.打开”、“2.关闭”],
[“3.打开”、“3.关闭”],
[“4.打开”、“4.关闭”],
];
var windowobj={
“窗口”:[
[{
“操作”:windowAction[0][0]
}],
[{
“操作”:windowAction[1][0]
}],
[{
“操作”:windowAction[2][0]
}],
[{
“操作”:windowAction[3][0]
}]
]
};
console.log(windowobj.window[0][0]。操作)
windowobj.window[0][0]。操作=windowAction[0][1]
console.log(windowobj.window[0][0]。操作)

console.log(windowobj.window)
yeah,谢谢回复。但我需要机会将存储的“windowobj”值自动更改为当前值。thx!但是,先生,很抱歉问这样一个问题:我如何使用变量(userInput;string type)来更新windowAction?我的意思是,在我的“尝试”中,用户输入直接与windowAction进行比较。如果可能,请告诉我如何与“0”和“1”交互以更改windowAction,从而更新windowObj。再次感谢您抽出时间@我再也不知道你想要实现什么。您谈到您需要对象,然后在示例中显示了两个数组,而不是一个对象。您显示的惯用输出具有0逻辑,并与用户输入连接。我又写了一个片段,但我已经没有时间了,你的问题和目标还不清楚。
windowobj.window[0][0].action=windowAction[0][1]