我有一个包含电子邮件对象及其属性的对象。
我对mime属性()感兴趣,可以使用array [index] .subtype访问它。
我想创建一个仅包含mime和count的(MIME)对象新数组。

var mimeType = []
var arr = {"object with emails"}.

    arr.forEach(function(elem, index, array){
     if(mimeType.indexOf(array[index].subtype == -1)){
                            mimeType.push({mime: array[index].subtype,    `count:1});
    }
else{
mimeType[count] = count+1;
}


重复打印所有哑剧

最佳答案

这是你想要的吗? :

var tmp = {};
var arr = [{ subtype: 'pdf' }, { subtype: 'doc' }, { subtype: 'pdf' }, { subtype: 'pdf' }];

arr.forEach(function(elem, index, array){
    if(tmp[elem.subtype] === undefined){
        tmp[elem.subtype] = 1;
    }
    else {
        tmp[elem.subtype]++;
    }
});

var mimeType = Object.getOwnPropertyNames(tmp).map(function(e) { return { mime: e, count: tmp[e] }});


mimeType的结果=

[{mime:"pdf",count:3},{mime:"doc",count:1}]

关于javascript - 从另一个对象创建对象数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31868833/

10-09 17:32