目前陷入这一挑战。

// 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) {

}


拥有

function stringLengths(str1, str2, str3, str4) {
    var arr = [];
    for (var i = 1; i < arguments.length; i++) {
        arr.push(arguments[i].length);
    }

    return arr;
}


这给了我一个空数组。

如何将每个参数的length属性推入Array并返回具有每个参数长度的数组?

最佳答案

您可以使用...Array.map这是ES6的功能。因此,您将处理任意数量的字符串。



function stringLengths(...args) {
  return args.map(x => x.length);
}

console.log(stringLengths(
  'str1',
  'je suis un chocolat',
  'les croissants sont bons',
));







更简洁



const stringLengths = (...args) => args.map(x => x.length);

console.log(stringLengths(
  'str1',
  'je suis un chocolat',
  'les croissants sont bons',
));

10-06 13:19