js数组题目

作者: Aniugel | 来源:发表于2019-09-26 10:29 被阅读0次
    1、寻找两个数组中相同的元素中最小的元素
        const a = [1, 2, 5, 9, 10, 1]
        const b = [3, 4, 6, 9, 10, 1]
        const newArr = Array.from(new Set(a)).concat([3, 4, 6, 9, 10, 1])
        Math.min.apply(this, newArr)//1
        Math.min(...newArr)//1
    
    2、判断一个字符串中出现次数最多的字符,统计这个次数var str=’addddfffssdfsadfsdfsafjsd’
        var str = 'addddfffssdfsadfsdfsafjsd';
        var arr = str.split('')
        var obj = {}
        for (i of arr) {
            if (i in obj) {
                obj[i]++;
            } else {
                obj[i] = 1
            }
        }
        console.log(obj)
        var temp = 0
        var str = ''
        for (k in obj) {
            if (obj[k] > temp) {
                temp = obj[k]
                str = k
            }
        }
        console.log(str, temp)
    
    3、移除数组 arr 中的所有值与5 相等的元素
        var arr = [2, 3, 4, 5,5,5]
        console.log(arr.filter(val => val !== 5))
    
    4、随机打乱一个数组
        // 方法一
        var arr = [2, 3, 10, 1, 55]
        arr.sort(() => Math.random() > 0.5 ? 1 : -1)
        console.log(arr)
    
    5、a数组和b数组值一样,随机删除b数组一个值,找到被删除的一位
        var arrA = [2, 3, 10, 1, 55]
        var arrB = [2, 3, 10, 1, 55]
        arrB.sort(() => Math.random() > 0.5 ? 1 : -1)
        console.log(arrB.pop())//方法一
        console.log(eval(arrA.join('+')) - eval(arrB.join('+')))//方法二
    

    https://blog.csdn.net/lj745280746/article/details/70880809

    相关文章

      网友评论

        本文标题:js数组题目

        本文链接:https://www.haomeiwen.com/subject/jfjtyctx.html