我有一个对象数组,我想对其进行迭代以生成一个新的过滤数组。同时,我还需要根据参数从新数组中过滤出一些对象。我试着这样做:
function renderOptions(options) {
return options.map(function (option) {
if (!option.assigned) {
return (someNewObject);
}
});
}
这是个好方法吗?有没有更好的方法?我愿意使用任何库,如lodash。
使用reduce,你可以在一个数组中做到这一点。函数原型。这将从数组中获取所有偶数。
Var arr = [1,2,3,4,5,6,7,8];
Var BRR = arr。Reduce ((c, n) => {
如果(n % 2 !== 0) {
返回c;
}
c.push (n);
返回c;
},[]);
. getelementbyid(“mypre”)。innerHTML = brr.toString();
<h1>获取所有偶数</h1>
<pre id="mypre"> </pre>
您可以使用相同的方法并将其泛化到您的对象,如下所示。
var arr = options.reduce(function(c,n){
if(somecondition) {return c;}
c.push(n);
return c;
}, []);
Arr现在将包含筛选过的对象。