如何解决返回对象数组中的第一个对象JavaScript
我在使用此功能时遇到问题。我应该返回数组的第一个元素,我可以用数字数组或字符串来做。
function firstElement(array) {
if (array.length === 0) {
return undefined;
}
if (array instanceof Array || typeof(array) === "string") {
return array[0];
}
}
firstElement([1,2,3]); // 1
firstElement([{ name: “Joseph” },{ name: “Ashley” },{ name: “Brandon” }]); // {name: “Joseph”}
但是,当涉及到一组对象时,我不太确定应该如何返回整个对象 ({name: "Joseph"})
。起初,我尝试以与返回数字数组中的第一个数字相同的方式执行此操作,但是我被抛出了 SyntaxError
。看起来就这么简单,但我现在完全被卡住了。我希望它能够适用于任何 {key: value}
对象,而不仅仅是特定名称。
谁能看出我错在哪里?
解决方法
根据你的对象值,应该是string
,但是你用错了double quotes
。应该是 " "
而不是 “ ”
。
您也可以使用 single quote
,即 ' '
。两者都可以接受。
其他一切正常。
function firstElement(array) {
if (array.length === 0) {
return undefined;
}
if (array instanceof Array || typeof array === "string") {
return array[0];
}
}
const element1 = firstElement([1,2,3]); // 1
const element2 = firstElement([{ name: "Joseph" },{ name: "Ashley" },{ name: "Brandon" }]);
console.log( element1 );
console.log( element2 );
数组中的对象不正确,它应该是一个字符串,这就是您遇到此问题的原因。 只需在对象中将“更改为”,您的代码就会按预期工作。
尝试使用以下数组一次。
[{姓名:“约瑟夫”},{姓名:“阿什利”},{姓名:“布兰登”}]
function firstElement(array) {
if (array.length === 0) {
return undefined;
}
if (array instanceof Array || typeof array === "string") {
return array[0];
}
}
const first = firstElement([{ name: "Joseph" },{ name: "Brandon" }]);
console.log("first :",first);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。