只使用jquery从对象数组中选择对象的属性

时间:2015-07-13 14:19:09

标签: jquery arrays object

我有一个对象数组。

var input = [
  {title: 'one', code: '1', desc: 'sds'},
  {title: 'two', code: '2', desc: 'wewe'},
  {title: 'three', code: '3', desc: 'dsf'}
];

我有一系列必需的属性说

var required = ['title', 'desc'];

和我所需的输出(基于输入和所需的数组)是

var output = [
      {title: 'one', desc: 'sds'},
      {title: 'two', desc: 'wewe'},
      {title: 'three', desc: 'dsf'}
    ];

如何在jquery中完成,当然我可以使用$.each然后检查每个对象属性来执行此操作。

但是可以使用$.map$.grep或任何其他方法

来完成

1 个答案:

答案 0 :(得分:2)

你可以使用Array.map,不需要jQuery

var output = input.map(function(obj){
   var rtn = {};
   for(var i = 0; i < required.length; i++)
      rtn[required[i]] = obj[required[i]]; // set the required properties
   return rtn; // return it
});