首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我可以在for循环中使用此函数中的参数吗?[等候接听]

我可以在for循环中使用此函数中的参数吗?[等候接听]
EN

Stack Overflow用户
提问于 2018-09-19 02:19:15
回答 2查看 0关注 0票数 0

对于下面的问题,我可以在函数中使用for循环调用参数(我认为他们称之为param的吗?)?我手动编码,但这没什么好玩的!自动化将是非常棒的。

// stringLengths takes in four strings
// it returns an array containing the length of each string
// Example: stringLengths('mushroom', 'onion', '', 'garlic') returns [8, 5, 0, 6] 

function stringLengths(str1, str2, str3, str4) {

}
EN

回答 2

Stack Overflow用户

发布于 2018-09-19 11:13:52

你可以使用[str1.length,str2.length,str3.length,str4.length],不需要循环:

// stringLengths takes in four strings 
// it returns an array containing the length of each string
// Example: stringLengths('mushroom', 'onion', '', 'garlic') returns [8, 5, 0, 6]

function stringLengths(str1, str2, str3, str4) {
  return [str1.length,str2.length,str3.length,str4.length];
}

console.log(stringLengths('mushroom', 'onion', '', 'garlic'));

如果函数有任意数量的参数,则使用arguments包含传入的所有函数属性的对象,此时您将需要一个循环。

// stringLengths takes in four strings 
// it returns an array containing the length of each string
// Example: stringLengths('mushroom', 'onion', '', 'garlic') returns [8, 5, 0, 6]

function stringLengths() {
  var res = [];
  for(var i=0; i<arguments.length; i++){
    res.push(arguments[i].length)
  }
  return res;
}
console.log(stringLengths('mushroom', 'onion', '', 'garlic'));
票数 0
EN

Stack Overflow用户

发布于 2018-09-19 12:07:22

您可以使用Array#map并利用所有非箭头函数中存在的arguments对象。

function stringLengths() { 
  return Object.values(arguments).map((arg) => arg.length)
}

console.log(stringLengths('lorem', 'ipsum', 'sit'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档