【发布时间】:2014-08-28 17:41:12
【问题描述】:
是否有快速过滤对象数组以仅返回每个对象中的几个属性的方法?
例如我们有以下数据:
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
}]
我正在尝试过滤上面的数组以获取另一个仅包含 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",
}]
提前致谢!
【问题讨论】:
-
如果你想修改原始对象,只需循环它们,然后使用
delete删除你不想要的东西。如果您想要新对象,请使用.map()并返回仅包含您确实想要的东西的新对象。没有内置的解决方案。 -
您是否有不想按原样使用该对象的原因? (不是说你应该;只是好奇。)
-
...此数据是否以 JSON 数据的形式到达?如果是这样,这可以使用
JSON.parse()自动完成。
标签: javascript jquery arrays object filter