JS编程练习题

一、

实现一个函数,输入某个字符串,输出其中出现最多的字符和个数

示例:

function fn(str){
    // ...
}

fn("abcabcbbccccc"); // 字符最多的是 c,出现了 7 次

二、

封装方法将字符串转化为驼峰命名

示例:

function fn(str){
    // ...
}

var s1 = "get-element-by-id";
fn(s1); // getElementById

三、

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

示例:

function fn(str){
    // ...
}

s = "leetcode"
fn(s) // 返回 0

s = "loveleetcode"
fn(s) // 返回 2

四、

实现一个函数 dealArr,接受两个参数(数组,函数),返回值为每一个选项都经过函数处理后的新数组,注意操作过程不能影响原来的数组。效果类似于:

var arr = [1,2,3,4];

function dealArr(array, fn){
    // ...
}

var newArr = dealArr(arr, function(item) {
    return item + 2;
});

console.log(newArr); // [3,4,5,6]                                
console.log(arr); // [1,2,3,4]

五、

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。

输入:"how are you"
输出:3

六、

请写一个函数,将数字的整数位以千分位分隔 例如:

示例:

function fn(num){
    // ...
}

fn(1234567)  // "1,234,567"
fn(12345.67) // "12,345.67"

七、

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

输入:nums = [3,2,4], target = 6
输出:[1,2]

输入:nums = [3,3], target = 6
输出:[0,1]

八、

书写一个函数,以两个有序数组作为参数,返回合并成的有序数组,请尽可能的用多种方式实现

示例:

function fn(arr1, arr2){
    // ....
}

var nums1 = [1,2,3]
var nums2 = [2,5,6]
fn(nums1, nums2); // [1,2,2,3,5,6]

九、

实现一个函数,传入一个或多个对象,返回一个合并了它们所有属性的对象,如果出现同名属性,后面你的属性值会覆盖前面的

示例:

function fn(){
    // ...
}

var user = {
    name: "李白",
    age: 24,
    tel: "13535356767"
}

fn(user, { age: 40, sex: "男" }, { name: "奥特曼", address: "M78星云" }); // { name: 奥特曼, age: 40, sex: 男, tel: "13535356767", address: "M78星云" }

十、

实现一个函数,传入一个数组,以及条件函数,返回数组的每一项是否符合筛选条件,都符合返回 true,任意一项不符合返回 false

例如:

function dealArr(arr, fn){
    // ...
}

var arr = [1,2,3,4,5];
dealArr(arr, function(item){
    return item < 10;
}) // true

dealArr(arr, function(item){
    return item > 1;
}) // false
文档更新时间: 2023-07-19 14:07   作者:孙老师