Javascript Object 遍历与字符串

Javascript Object traversal with String

本文关键字:字符串 遍历 Object Javascript      更新时间:2023-09-26

我需要遍历一个存储字符串的JavaScript对象。

示例字符串

var x = "Desserts"

示例对象

  {
    "dataset":
      { 
      "Categories" : 
               [
                {
                 "Desserts" : 
                   [
                    "Sweets","Ice Creams","Pastry"
                   ]
                } ,
                {
                  "Juices and Beverages" :
                   [
                    "Cold","Hot","Fresh","Sodas"
                   ]
                }
         }
   }

如果我以dataset.Categories.x的方式遍历对象,它不起作用[返回未定义]。我该怎么做?

你应该使用dataset.Categories[0][x]而不是dataset.Categories[0].x

看看:点表示法或括号表示法

var x = "Desserts",
  data = {
    "dataset": {
      "Categories": [{
        "Desserts": ["Sweets", "Ice Creams", "Pastry"]
      }, {
        "Juices and Beverages": ["Cold", "Hot", "Fresh", "Sodas"]
      }]
    }
  }
alert(data.dataset.Categories[0][x]);

var obj = {
    "dataset": {
        "Categories": [{
            "Desserts": ["Sweets", "Ice Creams", "Pastry"]
        }, {
            "Juices and Beverages": ["Cold", "Hot", "Fresh", "Sodas"]
        }]
    }
}

var x = 'Desserts';
var val = obj.dataset.Categories[0][x];
console.log(val);

JSFIDDLE .