javascript - 抓取对象 Javascript 内的 Nested Objects.length

标签 javascript arrays json object

//Setup
var contacts = [
    {
        "firstName": "Akira",
        "lastName": "Laine",
        "number": "0543236543",
        "likes": ["Pizza", "Coding", "Brownie Points"]
    },
    {
        "firstName": "Harry",
        "lastName": "Potter",
        "number": "0994372684",
        "likes": ["Hogwarts", "Magic", "Hagrid"]
    },
    {
        "firstName": "Sherlock",
        "lastName": "Holmes",
        "number": "0487345643",
        "likes": ["Intriguing Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["Javascript", "Gaming", "Foxes"]
    }
];


function lookUpProfile(firstNames, prop){
// Only change code below this line

  for (var i=0; i<contacts.length; i++){
    if(contacts[i].firstName == firstNames){
      for (var j=0; j<contacts[i].length; j++){
        if(contacts[i][j] == prop){
          return contacts[i][j].prop;
        } else {
          return "No such property";
        }
      }
    } else{
       return "No such contact";
    }

  }
  // Only change code above this line
}

// Change these values to test your function
lookUpProfile("Akira", "likes");

上面的代码不起作用,特别是在 for (var j=0; j<contacts[i].length; j++) 行上,因为当我在代码中运行 contacts[i].length 语句时,console.log 未定义

如何定义嵌套在另一个对象内的 JavaScript 对象的长度?

引用示例How to get object length [duplicate]

最佳答案

Object 原型(prototype)没有定义 length 函数,这就是它未定义的原因。但是,您可以使用 Object.keys 获取对象中每个(自己的)属性键的数组:

var props = Object.keys(contracts[i]);

for (var j = 0; j < props.length; j++) {
  // etc.
}

关于javascript - 抓取对象 Javascript 内的 Nested Objects.length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987206/

相关文章:

javascript - XMLHttpRequest responseText 到 arrayBuffer,unicode U+FFFD

javascript - ES6 中的环回模型

c# - 如何在 .NET 中创建值类型集合?

c# 比较字符串的第一个字符和字符数组的一个/一个用法

json - Servant-server 的自定义 JSON 错误

json - 如何在输入/输出中保持 FK 的表示一致(RESTful JSON API)

javascript - AngularJS 自定义过滤器调用 2 次

javascript - JSDoc : How to declare inline params

python - 将整数数组转换为日期对象

javascript - 使用 json 数据填充动态生成的选择框