Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js-基于密钥的筛选出属性_Javascript_Node.js_Lambda - Fatal编程技术网

Javascript js-基于密钥的筛选出属性

Javascript js-基于密钥的筛选出属性,javascript,node.js,lambda,Javascript,Node.js,Lambda,我有一个js变量,比如: var mylist=[{item:'emp',pos:1},{age:21,name:'AA'}, {年龄:22岁,姓名:'BB'},],…] 在我的js脚本中,我阅读了 var out = (mylist[0].map(function(i, j){return i.age})) total = out.length // this has 3 --> ['', '21', '22'] 我如何过滤掉列表中的元素,只返回带有age关键字的元素,这样我的

我有一个
js
变量,比如:

var mylist=[{item:'emp',pos:1},{age:21,name:'AA'}, {年龄:22岁,姓名:'BB'},],…]

在我的
js
脚本中,我阅读了

var out = (mylist[0].map(function(i, j){return i.age}))
total = out.length   // this has 3 -->  ['', '21', '22']
我如何过滤掉列表中的元素,只返回带有
age
关键字的元素,这样我的 总数为=['21','22']

我是新来的
js
,所以不知道如何处理?lambda?函数添加条件或过滤/返回“干净”数据。

您可以使用after删除那些未定义的值

var mylist=[[{item:'emp',pos:1},{age:21,name:'AA'},{age:22,name:'BB'}]];
var out=mylist[0].map(i=>i.age).filter(age=>age);

控制台。注销那是
js
?那是什么语言,scala?@Louds-是JavaScript。我正在使用ES6中介绍的。你也可以像在问题中那样使用常规函数。你应该先过滤然后映射,所以如果有没有AgeIt’s right@CodeManiac的条目,你需要在映射时循环使用较少的值。谢谢你指出这一点。我认为
reduce()
在这里非常理想,因为这样我们只需要循环一次。