No sé qué poner antes del bucle for. No sé si necesito una declaración if/else. Intentar que se muestre en la consola si los elementos de una matriz son cadenas. Entonces sé que necesito consol.log
var stringOne = isString('rob','bob','carl') function isString() { //I dont know what to put before for loop for(let i = 0; i < arguments.length; i++) { // Dont know if i need an if/else statement // Trying to have it display in the console if items in an array are strings // So I know I need consol.log } }every sería apropiado aquí, y hacer E/S (como console.log ) es mejor dejarlo fuera de la función. El nombre de la función sugiere que debería devolver un valor booleano (verdadero/falso):
function isString(...args) { return args.every(s => typeof s === "string"); } console.log(isString('rob','bob','carl'));Como parece que eres un principiante, ampliaré el código que tienes actualmente, aunque @trincot hizo la mejor solución.
En un ciclo for, puede devolver un valor para que el ciclo no continúe. Debido a que solo necesita verificar si alguno de ellos es falso, ya sea en la posición 0, 1 o 2 en la matriz, puede devolver "falso" inmediatamente.
Si solo hay cadenas, el ciclo continuará hasta que finalice y luego devolverá "verdadero" al final del método.
Por lo tanto, no necesita ningún código antes del bucle for, solo una declaración if que devuelve "falso" si alguno de los elementos de la matriz no es una cadena.
var stringOne = isString('rob','bob','carl') var stringTwo = isString('rob','bob', 1) function isString() { for(let i = 0; i < arguments.length; i++) { if (typeof arguments[i] != 'string') { return false } } return true } console.log({stringOne}); console.log({stringTwo});Algo como esto en el ciclo debería hacerlo:
this_arg = arguments[i]; if (typeof this_arg === 'string') console.log("arg number " + i + " is a string");