我正在学习 JS,仍处于旅程的开始..
我现在想了解如何表达嵌套在函数中的 for,但遵循箭头+三元格式。
我尝试将for
放在代码的几个部分中,但它不接受它。我设法在不考虑 for
的情况下编写它,选择我想查看的数组。但这不是我想要的..
let tester = (name,prop) => contacts[0]["firstName"] == name ? contacts[0][prop] : "error!";
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 tester(name,prop)
{
for (let i = 0; i < contacts.length;i++)
{
if (contacts[i]["firstName"]==name)
{
return contacts[i][prop]
}
else
{
return "error"
}
}
}
我想了解在哪里使用三元和箭头运算符关联 for
。
最佳答案
Lambda 的形式类似于 function
,可以按照与隐式 return
形式相同的方式内联:
let tester = (name, prop) => {
for (let i = 0; i < contacts.length; i++) {
if (contacts[i]["firstName"] == name) {
return contacts[i][prop];
}
}
return "error";
};
但实际上,您可能需要考虑使用 Array
的集合方法,在本例中为 .find()
:
let tester = (name, prop) => {
let results = contacts.find(item => item["firstName"] == name);
return results === undefined ? "error" : results[prop];
};
关于javascript - 如何以三元+箭头表示法插入 "for",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58158959/