如何使用右侧术语迭代JSON对象



假设我有一个JSON对象,如:

var objDBandIDs = {"vcFirstName":"enFN"
,"vcSurName":"enSN"
,"vcSex":["rdoM", "rdoF"]
,"intEmployed":"enEmp"
,"vcAddress":"enADR"};

在JavaScript中,我可以使用迭代这个对象

for( var strKey in objDBandIDs ) {
var rightSide = objDBandIDs[strKey];
...
}

其中strKey是标签,例如vcFirstName,右侧为enFN

有没有一种方法可以创建一个循环,而不是用左边作为迭代器,用右边来迭代JSON?

不能将值用作键,因为与键不同,值可能不是唯一的。

您可以通过循环Object.values:的结果来循环

for (const value of Object.values(objDBandIDs)) {
// ...
}

实例:

const objDBandIDs = {
"vcFirstName": "enFN",
"vcSurName": "enSN",
"vcSex": ["rdoM", "rdoF"],
"intEmployed": "enEmp",
"vcAddress": "enADR"
};
for (const value of Object.values(objDBandIDs)) {
console.log(value);
}

或者,您可以使用Object.entries:的结果循环通过这两个

for (const [key, value] of Object.entries(objDBandIDs)) {
// ...
}

实例:

const objDBandIDs = {
"vcFirstName": "enFN",
"vcSurName": "enSN",
"vcSex": ["rdoM", "rdoF"],
"intEmployed": "enEmp",
"vcAddress": "enADR"
};
for (const [key, value] of Object.entries(objDBandIDs)) {
console.log(key, value);
}

在这两种情况下,都没有来使用for..of循环,您可以使用任何数组循环机制(有关选项,请参阅此处的答案(。

最新更新