有关JavaScript的一些题目

函数: 取m-n之间的随机整数


function randomNumber(min, max) {

    if (min >= max) {
        return NaN;
    }

    return parseInt(Math.random() * (max - min + 1) + min);

}

数组:求每个元素出现的次数

    let arr = ['a', 'b', 'c', 'a', 'c', 'd', 'e', 'm', 'd'];
    let res = arr.reduce((pre, val) => {
        pre[val] =  (pre[val]) ? pre[val] + 1 : 1; 
        return pre;
    }, {})
    console.log(res);
    let res = arr.reduce((pre, val) => {

        if (!pre[val]) {
            pre[val] = 1;
        } else {
            pre[val]++;
        }
        return pre;

    }, {})//第二个参数给pre做默认值
    console.log(res);

数组扁平化

  let arr = [[1, 2], [3, 4], [5, 6]]; // [1, 2, 3, 4, 5, 6]

    let arr2 = arr.reduce((pre, val) => {
        return pre.concat(val);
    }, []);

    console.log(arr2);
  let arr = [[1, 2], [3, 4], [5, [6, 7]]];
    // [5, [6, 7]]  [5,6,7]
    // [6, 7]

    let arr2 = function(arr) {
        return arr.reduce((pre, val) => pre.concat(Array.isArray(val) ? arr2(val) : val), []);
    }

    console.log(arr2(arr));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值