我有一个Json结构,我需要运行一些单元测试。结构如下所示。
{
tracks:{
4j38f8-4j39fj-3j4j3j:{
name:"my video track",
mediaType:"VIDEO"
},
280248-248244-ttr24:{
name:"my audio track",
mediaType:"AUDIO"
},
280248-248244-ttr24:{
name:"my audio track",
mediaType:"AUDIO"
}
}
在javascript中我有以下代码。
var data = JSON.parse(jsonFile.json);
if(data.4j38f8-4j39fj-3j4j3j.mediaType == "VIDEO")
{
do something
}
else
{
do something else
}
if(data.4j38f8-4j39fj-3j4j3j.mediaType == "VIDEO")
{
do something
}
else
{
do something else
}
if(data.4j38f8-4j39fj-3j4j3j.mediaType == "VIDEO")
{
do something
}
else
{
do something else
}
但是,我不知道会有多少曲目,我想要根据它的轨道类型而有所不同。这让我相信我应该遍历这个对象。然而,因为它不是一个数组,我需要得到循环中下一个对象的关键。我的问题是我该怎么做?
For element in tracks
{
if element.mediaType = video
{
do one thing
}
else
{
do another thing
}
}
答案 0 :(得分:0)
使用for..in
结构:
for (var key in data.tracks) {
if (data.tracks.hasOwnProperty(key)) {
if (data.tracks[key].mediaType === 'VIDEO') {
// do one thing
} else {
// do another thing
}
}
}