返回对象数组中的第一个对象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);