美文网首页
数组添加key案例

数组添加key案例

作者: 那麽快樂 | 来源:发表于2019-06-11 15:01 被阅读0次

    题目:随机生成一个长度为10的整数类型的数组,例如[2, 10, 3, 4, 5, 11, 10, 11,20], 将其排列成一个新数组,
    要求新数组,形式如下: [[2, 3, 4, 5], [10, 11], [20], [30, 31, 32]];

    //封装随机数
    function random(start, end) {
        return Math.floor(Math.random() * (end - start + 1) + start);
    }
    
    // 专门用来存十个随机的整数的
    var arr = [];
    // 随机十个整数放入arr中
    while (arr.length < 10) arr.push(random(1, 100));
    // 处理数组,从小到大排序
    arr.sort(function (a, b) {
        return a - b;
    });
    
    // 用来存放最后结果的
    var newArr = [];
    
    var obj = {}; 
    //例如随机的10个数为 arr = [2, 10, 3, 4, 5, 11, 10, 11,20]
    for (var i = 0; i < arr.length; i++) {
        // temp其实就是key
       var temp =  Math.floor(arr[i] / 10);
        if (!obj[temp]) {
            // 没有的话新建一个key,并且等于一个空数组
            obj[temp] = [];
            // 将当前的元素,放进去
            obj[temp].push(arr[i]);
        } else {
            // 如果存在key, 则可以直接放入
            obj[temp].push(arr[i]);
        }
    }
    
    // 将对象转化为数组格式
    for (var k in obj) {
       newArr.push(obj[k]);
    }

    相关文章

      网友评论

          本文标题:数组添加key案例

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