美文网首页
将对象分类

将对象分类

作者: 皮卡乒乓 | 来源:发表于2018-01-05 10:56 被阅读0次

需求:将同样类型的年龄相加

var arr = [{"type":"1","age":"20"},{"type":"2","age":"10"},{"type":"3","age":"50"},{"type":"2","age":"20"},{"type":"1","age":"15"},{"type":"20","age":"10"},{"type":"13","age":"70"},{"type":"3","age":"8"}];

实现方法

1、先找到所有的类型,然后根据类型去相加

var type = [];
for (var i = 0;i < arr.length; i++) {
    var typevalue = arr[i].type;
    var flag = 0;
    for(var j = 0;j < type.length; j++){
        if(typevalue==type[j]){
            flag = 1;
        }
    }
    if(flag==0){
        type.push(typevalue);
    }   
}

var result = [];
for(var i = 0;i < type.length; i++){
    var record = 0;
    var typevalue = type[i];
    for(var j = 0;j < arr.length; j++){
        if(arr[j].type==typevalue){
            record+=parseInt(arr[j].age);
        }
    }
    var obj={};
    obj[typevalue] = record;
    result.push(obj);
}
console.log(result);

2、看此类型的在数组里有没有,如果有,则age相加,如果没有,则放进去(推荐)

var type = [];
var res = [];
for (var i = 0;i < arr.length; i++) {
    var typevalue = arr[i].type;
    var flag = 0;   
    for(var j = 0;j < type.length; j++){
        if(typevalue==type[j]){
            flag = 1;
            res[j][typevalue] += parseInt(arr[i].age);
        }
    }
    if(flag==0){
        type.push(typevalue);
        var obj = {};
        obj[typevalue] = parseInt(arr[i].age);
        res.push(obj);
    }   
}

相关文章

  • 5-Category

    1.编译时所有分类编译成下图结构体对象2.通过runtime动态将分类方法合并到类对象、元类对象中3.合并时分类方...

  • 如何给数组对象按某一属性分类

    问题:如何将一个数组对象按某一属性进行分类,然后将分类后的数据生成一个新数组使用? 解决方案: 1.将分类类型一对...

  • iOS底层学习5 -- 分类底层原理

    分类中的方法是通过runtime动态的将分类的方法合并到类对象,元类对象中的。也就是在程序运行过程中合并的,不是编...

  • Category实现原理

    依赖runtime 动态的将分类的方法和类方法合并到类对象和元类对象的方法列表中 (对实例对象 类对象 元类对...

  • 支持向量机(SVM)-Python

    自然语言描述:在库中导入SVM类-创建类对象-用训练集拟合分类器将拟合好的分类器直接导入分类器模板即可代码: 核心...

  • 生信学习小组80期 Day7-CM

    小组学习最后一天的内容是测序的相关知识 按时间将测序技术进行分类思维导图 按测序对象将测序技术进行分类思维导图

  • 对象分类

    ECMA标准固有对象 https://www.ecma-international.org/ecma-262/9....

  • Category相关

    1.Category的实现原理? ->所有的分类结构体都是一样的 -通过runtime动态将分类的方法合并到类对象...

  • category原理与底层结构

    原理 通过runtime动态将分类的方法合并到类对象,元类对象中。 底层加载 查看objc-os.mm文件(查看运...

  • 面向对象(二)

    1.构造函数 运行结果HTML3.png 2.判断对象的分类 3.将方法绑定到对象原型上 prototype:我们...

网友评论

      本文标题:将对象分类

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