无法记录对象的键,它在打字稿中记录为单独的字符串



我想记录密钥property,但我得到单独的字符:

let data = [{
"mr": 1650886620,
"miss": 0.777327955
},
{
"mr": 1650887221,
"miss": 0.8514726
},
{
"mr": 165,
"miss": 0.8
},
"properties":{
"mr":"value1",
"miss":"vl2"
}
];

// data.forEach((obj) => {
//  Object.keys(obj).forEach((key) => {
//             console.log("key : " + key + " - value : " + obj[key as keyof object]);
//   });
// });

data.forEach((obj) => 
Object.entries(obj).forEach(([i, j]) => 
console.log(i, j)));

输出:

[LOG]: "mr",  1650886620 
[LOG]: "miss",  0.777327955 
[LOG]: "mr",  1650887221 
[LOG]: "miss",  0.8514726 
[LOG]: "mr",  165 
[LOG]: "miss",  0.85 
[LOG]: "0",  "p" 
[LOG]: "1",  "r" 
[LOG]: "2",  "o" 
[LOG]: "3",  "p" 
[LOG]: "4",  "e" 
[LOG]: "5",  "r" 
[LOG]: "6",  "t" 
[LOG]: "7",  "i" 

我已经注释掉了另一个方法,它给出了相同的输出。

你必须修正"properties"json

var data = [
{
mr: 1650886620,
miss: 0.777327955,
},
{
mr: 1650887221,
miss: 0.8514726,
},
{
mr: 165,
miss: 0.8,
},
{
properties: {
mr: "value1",
miss: "vl2",
}
}
];

并尝试下面的代码

data.forEach((obj) =>
Object.entries(obj).forEach(([i, j]) => {
if (typeof j != "object") console.log(i, j);
else {
console.log(i, ":");
Object.entries(obj[i]).forEach(([y, z]) => console.log(y, z));
}
})
);

最新更新