Je dois créer une fonction qui prend quatre chaînes et renvoie une matrice contenant la longueur de chaque chaîne. On m'a donné ceci:
function stringLengths(str1, str2, str3, str4) { // }
5 Réponses :
Vous pouvez utiliser PARAMETERS DE REPOS Pour convertir les arguments en tableau, puis p> cartographier code> pour obtenir votre résultat requis. Vous trouverez ci-dessous mon extrait.
function stringLengths(...strings){
return strings.map(string => string.length);
}
console.log(stringLengths("","something","something else"))
Voici votre code
function stringLengths(str1, str2, str3, str4) { return [str1.length, str2.length, str3.length, str4.length] } console.log(stringLengths('1','bb','ccc','dddd'))
Vous pouvez utiliser la syntaxe de repos et la fonction p> .map () code> pour obtenir une matrice de longueur de chaîne:
const stringLengths = (...str) => str.map(({ length }) => length);
console.log(stringLengths('lorem', 'ipsum'));
console.log(stringLengths('lorem', 'ipsum', 'sit', 'amet'));
Si vous ne voulez pas modifier votre définition de fonction, vous pouvez également utiliser arguments objet.
p>
function stringLengths(str1, str2, str3, str4) { return Object.values(arguments).map(x => x.length); } console.log(stringLengths("hello", "cruel", "world", "of", "darkness"));
Bon un mate +1.
Personnellement, je ne vois pas beaucoup de point de maintenir la signature de fonction inchangée si vous utilisez arguments code> sous la hotte.
Il existe déjà d'excellentes réponses pour faire qui peut conduire à des résultats inattendus: p> ou même des erreurs: p> p> StringLengths code> Travailler avec n'importe quel nombre de paramètres. Cependant, tous (jusqu'à présent) supposent que chaque paramètre est une chaîne.
null code> ou
non défini code> lancera une erreur lors de la tentative de lecture des propriétés d'eux. Li>
ul>
const stringLengths = (...strs) =>
strs.map(s => s.length);
const filterStrings = fn => (...args) =>
fn(...args.filter(arg => typeof arg === 'string'));
const safeStringLengths = filterStrings(stringLengths);
console.log(
safeStringLengths(1, 2)
);
console.log(
safeStringLengths({length: 'ð¯'}, ['ð¥'], (a, b) => 'ð¶')
);
console.log(
safeStringLengths(null, null)
);
console.log(
safeStringLengths("foo", "bar", "foobar")
);