1. 编写一个函数,接受一个数组作为参数,返回该数组中所有数字的和。
function sumArray(array) {
  let sum = 0;
  for (let i = 0; i < array.length; i++) {
    if (typeof array[i] === "number") {
      sum += array[i];
    }
  }
  return sum;
}

console.log(sumArray([1, 2, 3, 4, 5])); // 15
console.log(sumArray(["a", 2, "b", 4, 5])); // 11
  1. 编写一个函数,接受一个字符串作为参数,返回该字符串中最长的单词。
function longestWord(str) {
  let words = str.split(" ");
  let longest = "";
  for (let i = 0; i < words.length; i++) {
    if (words[i].length > longest.length) {
      longest = words[i];
    }
  }
  return longest;
}

console.log(longestWord("The quick brown fox jumped over the lazy dog")); // jumped
console.log(longestWord("A sentence with multiple long words")); // multiple
  1. 编写一个函数,接受一个数字作为参数,返回一个从 1 到该数字的数组,但是其中 3 的倍数替换为 "Fizz",5 的倍数替换为 "Buzz",既是 3 的倍数又是 5 的倍数替换为 "FizzBuzz"。
function fizzBuzz(n) {
  let result = [];
  for (let i = 1; i <= n; i++) {
    if (i % 3 === 0 && i % 5 === 0) {
      result.push("FizzBuzz");
    } else if (i % 3 === 0) {
      result.push("Fizz");
    } else if (i % 5 === 0) {
      result.push("Buzz");
    } else {
      result.push(i);
    }
  }
  return result;
}

console.log(fizzBuzz(15)); // [1, 2, "Fizz", 4, "Buzz", "Fizz", 7, 8, "Fizz", "Buzz", 11, "Fizz", 13, 14, "FizzBuzz"]
  1. 编写一个函数,接受一个字符串和一个字符作为参数,返回该字符串中该字符出现的次数。
function countChar(str, char) {
  let count = 0;
  for (let i = 0; i < str.length; i++) {
    if (str[i] === char) {
      count++;
    }
  }
  return count;
}

console.log(countChar("hello world", "l")); // 3
console.log(countChar("hello world", "o")); // 2
  1. 编写一个函数,接受一个字符串作为参数,返回该字符串中每个字符出现的次数。
function countChars(str) {
  let counts = {};
  for (let i = 0; i < str.length; i++) {
    if (counts[str[i]]) {
      counts[str[i]]++;
    } else {
      counts[str[i]] = 1;
    }
  }
  return counts;
}

console.log(countChars("hello world")); // {h: 1, e: 1, l: 3, o: 2, " ": 1, w: 1, r: 1, d: 1}
console.log(countChars("aaabbbccc")); // {a: 3, b: 3, c: 3}

注意:以上答案仅供参考,可能不是最优解。

写几道js编程题并给出答案

原文地址: https://www.cveoy.top/t/topic/EVV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录