我有一个对象数组,我想迭代它来生成一个新的过滤数组。但是,我还需要根据参数从新数组中筛选出一些对象。我正在尝试:
function renderOptions(options) {
return options.map(function (option) {
if (!option.assigned) {
return (someNewObject);
}
});
}
这是一个好的方法吗?有更好的方法吗?我愿意使用任何库,比如洛达什。
使用减少,卢克!
function renderOptions(options) {
return options.reduce(function (res, option) {
if (!option.assigned) {
res.push(someNewObject);
}
return res;
}, []);
}
自2019年以来,阵列。原型平面地图是个不错的选择。
options.flatMap(o => o.assigned ? [o.name] : []);
从上面链接的MDN页面:
平面地图
可以作为在地图期间添加和删除项目(修改项目数量)的一种方式。换句话说,它允许您将许多项目映射到许多项目(通过分别处理每个输入项目),而不是总是一对一。从这个意义上说,它的工作原理就像过滤器的相反。只需返回一个1元素数组来保留项目,一个多元素数组来添加项目,或者一个0元素数组来删除项目。
你应该使用数组。为此减少
。
var options = [
{ name: 'One', assigned: true },
{ name: 'Two', assigned: false },
{ name: 'Three', assigned: true },
];
var reduced = options.reduce(function(filtered, option) {
if (option.assigned) {
var someNewValue = { name: option.name, newProperty: 'Foo' }
filtered.push(someNewValue);
}
return filtered;
}, []);
document.getElementById('output').innerHTML = JSON.stringify(reduced);
<h1>Only assigned options</h1>
<pre id="output"> </pre>
我有一个需要过滤的对象。 我需要输入“数据”,只有“isEnabled”为真的值的ID。
我刚开始使用RxJava/RxAndroid,在理解如何正确处理背压方面有一些问题。 我有一个文件扫描器,可以扫描目录并发出文件。应尽快处理这些文件,并且不跳过任何文件。 所以管道看起来像这样:<代码>可观察 不幸的是,我收到了rx。例外情况。缺少背压异常错误。所以我读了关于背压的书,如果我理解正确的话,无损耗选项只是缓冲区和窗口。 我试过了BackPressureBuffer()、buffer(
假设我有一张房间清单 每个房间都有一份人员名单。 使用java8 streams,我想迭代房间列表,获取所有人员,在每个节点上执行一些方法(doSomething()),并获取所有过滤对象的列表。 这是使用java 8的最佳实践吗?
我想过滤以下JSON。 我如何将映射函数与过滤器一起使用,而不是。我的想法如下。但它不起作用。 我该怎么办? 谢谢
我正在用Java8为一个文件编写一个解析器。使用读取该文件,并返回一个顺序的。 每一行都映射到一个数据对象,如下所示: 现在我们可以将流中的每一行映射到相应的结果: 但是,流现在包含要删除的值: 如我在中所知,如果需要结果,我如何组合映射/筛选操作?
问题内容: 我有两个数组,一个带有url,一个带有内容。他们看起来像这样: 如何同时映射两个数组,并在新创建的元素中使用它们的值? 我需要使用我的reactplayer的url值和内容的值作为播放器下方的文本。 所以它应该看起来像这样: 这可能吗?更好的设置方法是什么? 问题答案: 使用的第二个参数(即当前元素的索引),可以访问第二个数组的正确元素。 如果您的项目中有其中一种库,那么这是该库中各种