在Javascript中过滤对象

hab*_*ibg 0 javascript arrays jquery object filter

有没有快速的方法来过滤对象数组,只返回每个对象中的几个属性?

例如,我们有以下数据:

var objArr = [{

    "Title": "July 13 - July 19 2014",
        "displayAd_imp": "3,500",
        "videoAd_imp": "1.5",
        "tv_imp": "0.52",
        "Date": "2014-07-17T00:00:00.000Z",
        "WeekNo": 29
}, {

    "Title": "July 20 - July 26 2014",
        "displayAd_imp": "1,600",
        "videoAd_imp": "2.55",
        "tv_imp": "0.052",
        "Date": "2014-07-24T00:00:00.000Z",
        "WeekNo": 30
}, {

    "Title": "July 27 - Aug 2 2014",
        "displayAd_imp": "1,500",
        "videoAd_imp": "2.1",
        "tv_imp": "0.122",
        "Date": "2014-07-31T00:00:00.000Z",
        "WeekNo": 31
}]
Run Code Online (Sandbox Code Playgroud)

我试图在滤镜阵列上面获得另一个阵列只videoAd_imp,videoAd_imp,tv_imp.所以它看起来像这样:

 [{

            "displayAd_imp": "3,500",
            "videoAd_imp": "1.5",
            "tv_imp": "0.52",
    }, {

            "displayAd_imp": "1,600",
            "videoAd_imp": "2.55",
            "tv_imp": "0.052",

    }, {

            "displayAd_imp": "1,500",
            "videoAd_imp": "2.1",
            "tv_imp": "0.122",
}]
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Mri*_*jay 9

像下面这样使用Array.map

如果要对所有对象进行新引用.

var newArr = objArr.map(function (obj) {
     return {displayAd_imp:obj.displayAd_imp,videoAd_imp:obj.videoAd_imp,tv_imp:obj.tv_imp};
})

console.log(newArr);
Run Code Online (Sandbox Code Playgroud)

如果你想获得原始参考文献,请使用下面的文章

var newArr = objArr.map(function (obj) {
    delete obj.Date;
    delete obj.WeekNo;
    delete obj.Title
    return obj;
})
Run Code Online (Sandbox Code Playgroud)