javascript - 函数返回错误消息不起作用

标签 javascript arrays function object

我实际上有一个小问题:我想创建一个在数组中的对象中循环的函数。

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(firstName, prop){
    for (var i = 0; i < contacts.length; i++) {
        for (var prop1 in contacts[i]) {
            if (contacts[i][prop1] == firstName) {
                if (contacts[i].hasOwnProperty(prop)) {
                    return contacts[i][prop];
                }
            }
         }
     }
 }

 lookUpProfile("Sherlock", "likes");

我想返回两个错误:“没有这样的联系”和“没有这样的类别”(我评论了放置“返回'没有这样的联系'”的部分,但它不起作用......)。

最佳答案

试试这个代码:

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(firstName, prop) {
  var contact = contacts.find(function(contact) {
    return contact.firstName === firstName;
  });

  if (!contact) {
    return 'No such contact';
  }

  if (!contact.hasOwnProperty(prop)) {
    return 'No such category';
  }

  return contact[prop];
}



console.log(lookUpProfile("Sherlock", "likes"));

关于javascript - 函数返回错误消息不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42566164/

相关文章:

javascript - 如何在 JavaScript 中对数字进行切片?

javascript - setValues 不迭代数组

arrays - 在 ruby​​ 中使用宇宙飞船运算符进行自定义排序

c - 多维数组和指向指针的指针

c - 如何比较传递给函数的数组元素的值

javascript - 如何在 Flask 应用程序中剥离和包含 Bokeh 对象

javascript - 在 acrobat PDF 表单中使用 java 脚本更改字段数字样式

javascript - 使用 link_to 将 div 替换为 rails

Python 定义函数只输出第一个目录

c++ - 是否可以使函数在 C++ 中返回类型名?