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