我试图在一个对象数组上调用过滤器方法,但我不想返回整个对象。我只想返回对象的一部分。
[
{val: 0, val2: 'a'},
{val: 1, val2: 'b'},
{val: 2, val2: 'c'},
{val: 3, val2: 'd'}
].filter( obj => {
if (obj.val > 1){
return obj.val2
}})
这个过滤函数返回
[ { val: 2, val2: 'c' }, { val: 3, val2: 'd' } ]
但应该正在返回
[ { val2: 'c' }, { val2: 'd' } ]
使用map
的问题是,我不希望未定义的被注入到数组中
由于要在经过的迭代中构造新对象,因此可以使用。映射
以在过滤后变换所有经过的对象:
js lang-js prettyprint-override">const result = [
{val: 0, val2: 'a'},
{val: 1, val2: 'b'},
{val: 2, val2: 'c'},
{val: 3, val2: 'd'}
]
.filter(obj => obj.val > 1)
.map(({ val2 }) => ({ val2 }));
console.log(result);
您可以结合地图和过滤器。
dataArray.filter(obj => obj.val > 1 && obj.val2).map(obj => obj.val2);
要使用reduce
进行此操作,请将其保留为1次迭代,并只在数组中推送要保留的项。
js lang-js prettyprint-override">const result = [
{val: 0, val2: 'a'},
{val: 1, val2: 'b'},
{val: 2, val2: 'c'},
{val: 3, val2: 'd'}
].reduce((prev, obj) => {
if (obj.val > 1)
prev.push({ val2: obj.val2 });
return prev;
}, []);
console.log(result)
尝试创建一个函数,该函数使用筛选器,但不使用for函数,也不使用同时循环函数或Foreach函数,该函数将循环遍历对象数组,仅返回其属性值。例如, 所以如果我打电话 我应该得到一个数组的返回=[“bleh”,“blah”]我只是不确定如何在这些指导原则下实现过滤器。我也在考虑使用链函数。地图 ////下面是整个代码挑战规范///// 基础:筛选练习4/18 使用数组#过滤器编写一个名为getSha
我在一个网站上使用angularjs,那里有一个搜索输入,可以过滤视图上的列表。此列表显示为一个ng-repeat,该ng-repeat具有搜索输入中的筛选器: 搜索输入:
问题内容: 我有一系列对象,我想知道搜索它的最佳方法。给定以下示例,我如何搜索和?jQuery有什么可以帮助的吗?还是我必须自己蛮力搜索? 问题答案: 您可以使用:
我有: 我尝试使用map()和filter()实现myFunction,但无法使其正常工作。如果我有接近的想法,我会展示一些我尝试过的代码,不幸的是,情况并非如此。任何帮助都将不胜感激!
问题内容: 我有两个阵列。我正在用PubSidebar过滤基于groupKey。 如果父母重视:日记或存款或任何价值或角色:公共,我在传递内容数组内的对象时遇到问题。我必须在基于的内容数组中传递值。 如果存在Journals and Deposits,则在内容数组内添加Journals and Deposit数据,包括公共数据。(三个对象) 如果存在Journals,则将Contents数组内的J
设备类型.java DeviceTelemetry.java (枚举类) 我想获取所有DeviceType Id,它们的DeviceTelem计名称以“System”(String)开头。 我做了这样的事情:— 谁能告诉我如何从中获取DeviceType Id?