如何从函数返回对象?

罗比·罗伯

我正在学习JS,非常感谢您的帮助。如果可能的话,我想向我们提供更高阶的函数和回调。

任务

  1. 声明这些局部变量,并使它们等于相应的信息,firstName,LastName,linkedIn,phone,city
  2. 使用字符串连接,使局部变量fullName等于您的名字和姓氏,并用空格分隔。
  3. 创建一个局部变量linkedIn,一个字符串,它是指向您的LinkedIn个人资料的链接。
  4. 制作一个本地变量信息,该信息是一个数组,该数组包含按顺序排列的fullNamelinkedInphonecity变量。
  5. 进行局部变量教育,该变量是一个包含您的大学/大学名称,研究领域和一个整数的数组,该整数表示您(预期)毕业的年份。确保按此顺序。
  6. 定义一个函数createApp,它将您的信息和教育作为该参数的顺序。这应该返回一个包含2个键的对象。键名必须与变量名相同。将这些键的值设置为相应的参数。

步骤1-5:创建局部变量。

 (function person() {
   var firstName = "Rob",
   lastName = "Johnson",
   fullName = firstName + ", " + lastName,
   linkedIn = 'https://www.linkedin.com/in/robjohnson',
   phone = 3105559288,
   city = 'Los Angeles',
   info = [firstName, linkedIn, phone, city],
   education = ['UWRock','Generals','2017'];
 })();

步骤6.返回包含2个键的对象。键名必须与变量名相同。将这些键的值设置为相应的参数。我不知道,我认为这应该是动态的而不是硬编码的。

function createApp(info, education){
   var myObj = {}; 
   return(myObj);
};

我想我想使用回调返回类似的内容:

myObj {
  info:'Rob', 
  education: ['UWRock','Generals','2017']
};
罗比·罗伯

我找到了解决方案。

function list () { 
  var firstName = "Rob",
      lastName = "Johnson",
      fullName = firstName + ", " + lastName,
      linkedIn = 'https://www.linkedin.com/in/robjohnson',
      phone = 3105559288,
      city = 'Los Angeles',
      info = [firstName, linkedIn, phone, city],
      education = ['UWRock','Generals','2017'];

  createApp(info,education);

}

function createApp(info, education){
  var emptyObj = {},
      strArr = ['info','education'],
      myArray = [info, education];

      for (var i = 0; i < myArray.length; i++){
        emptyObj[strArr[i]] = myArray[i];
      }

   console.log(emptyObj);

}

list();

结果是

[ Object ] {
 education: ["UWRock", "Generals", "2017"],
 info: ["Rob", "https://www.linkedin.com/in/robjohnson", 3105559288,"Los Angeles"]
}

我正在尝试寻找更好的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章