Javascript配置文件查找函数
以下是我想要实现的目标: *函数应该检查firstName是否是实际联系人的firstName,并且给定的属性(prop)是否是该联系人的属性 如果两者都为true,则返回该属性的“值” 如果firstName与任何联系人不对应,则返回“无此类联系人” 如果prop与任何有效属性不对应,则返回“No-this property”* 我的代码:Javascript配置文件查找函数,javascript,arrays,function,javascript-objects,Javascript,Arrays,Function,Javascript Objects,以下是我想要实现的目标: *函数应该检查firstName是否是实际联系人的firstName,并且给定的属性(prop)是否是该联系人的属性 如果两者都为true,则返回该属性的“值” 如果firstName与任何联系人不对应,则返回“无此类联系人” 如果prop与任何有效属性不对应,则返回“No-this property”* 我的代码: //Setup var contacts = [ { "firstName": "Akira", "lastNam
//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(firstName, prop){
// Only change code below this line
for (var i = 0; i<prop.length; i++){
if(contacts.hasOwnProperty(firstName)=== true && contacts.hasOwnProperty(prop)=== true){
return firstName[i].prop;
}
else if(firstName !==firstName[i].prop) {
return "No such contact";
}
else if(prop !== "prop"){
return "No such property";
}
}
// Only change code above this line
}
// Change these values to test your function
lookUpProfile("Akira", "likes");
//设置
var触点=[
{
“名字”:“Akira”,
“姓氏”:“莱恩”,
“编号”:“0543236543”,
“喜欢”:[“披萨”、“编码”、“布朗尼点数”]
},
{
“名字”:“哈利”,
“姓氏”:“波特”,
“编号”:“0994372684”,
“喜欢”:[“霍格沃茨”、“魔法”、“海格”]
},
{
“名字”:“夏洛克”,
“姓氏”:“福尔摩斯”,
“编号”:“0487345643”,
“喜欢”:[“有趣的案例”,“小提琴”]
},
{
“名字”:“克里斯蒂安”,
“姓氏”:“Vos”,
“编号”:“未知”,
“喜欢”:[“Javascript”、“游戏”、“狐狸”]
}
];
函数lookUpProfile(firstName,prop){
//仅更改此行下方的代码
对于(var i=0;i,您可以使用它过滤掉名为的联系人
——请参见下面的演示:
//设置
var contacts=[{“firstName”:“Akira”,“lastName”:“Laine”,“number”:“0543236543”,“likes”:“Pizza”,“Coding”,“Brownie Points”],{“firstName”:“Harry”,“lastName”:“Potter”,“number”:“number”:“0994372684”,“likes”:“Hogwarts”,“Magic”,“Hagrid”],{“firstName”:“Sherlock”,“lastName”:“Holmes”,“number”:“0487345643”,“likes”:“耐人寻味的案例”,“小提琴”},{“firstName”:“克里斯蒂安”,“姓氏”:“Vos”,“数字”:“未知”,“喜欢”:[“Javascript”,“游戏”,“狐狸”]}];
函数lookUpProfile(firstName,prop){
var FOND=联系人。查找(功能(e){
返回e.firstName==firstName;
});
如果(!找到){
返回“无此类接触”;
}否则{
如果(找到支柱){
返回找到[prop];
}否则{
返回“无此类财产”;
}
}
}
//更改这些值以测试您的函数
var结果=lookUpProfile(“Akira”、“likes”);
console.log(result);
您的问题是什么?您的代码有问题吗?如果有,问题是什么?请阅读。这是可行的,但作业要求我使用hasOwnProperty()为了解决这个问题,我想prop in found
在这里就足够了…hasOwnProperty
也会检查原型链中的属性,而in
只对可枚举的属性有效…:)