我想更新 for 循环内 flags[ ] 数组中的每个字段。在每次迭代期间,我需要将相应的标志更新为 true。请帮我解决这个问题。
var flags = {terminationFlag : false,
transferFlag : false,
jrCancelledFlag : false,
jrFilledFlag : false,
jrOpenFlag : false,
miegFlags : false,
headcountFlag : false,
replacementReqFlag : false,
costcentreFlag : false,
gradeMapFlag : false}
var array = [1,2,3,4,5,6,7,8,9,10];
for (i=0; i < array.length ;i++){
flags[i] = true
}
if (("terminationFlag" = true) && ("transferFlag" = true)){
//do some operation
}
最佳答案
您有一个标志对象,它不是数组。如果你想要一个数组,你可以使用 Object.keys
let flags = {
terminationFlag: false,
transferFlag: false,
jrCancelledFlag: false,
jrFilledFlag: false,
jrOpenFlag: false,
miegFlags: false,
headcountFlag: false,
replacementReqFlag: false,
costcentreFlag: false,
gradeMapFlag: false
}
Object.keys(flags).forEach(key => {
flags[key] = true;
})
console.log(flags)
PS:if (("terminationFlag"= true) && ("transferFlag"= true)){
不会按预期工作,因为您尝试在 if 语句中将字符串设置为 true 而不是测试它们
if (flags["terminationFlag"] && flags["transferFlag"]) {
或
if (flags["terminationFlag"]===true && flags["transferFlag"]===true) {
关于javascript - 如何使用nodejs更新for循环内数组中的单个键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54287136/