[英]How does javascript #map work with removing an object from an array?
为什么以下返回未定义? 我不应该回到[{name:'bug']
吗?
var a= [{name:'dark'},{name:'bug'}]
a.map(function (obj) {
if (obj.name !== 'dark'){
return obj
}
})
//returns [undefined,{name:'bug}]
.map
表示您正在为数组中的每个项目映射某些内容。 如果不返回任何内容,它将返回undefined
如果希望根据条件获取某些值,则应使用.filter
var a = [{ name: 'dark' }, { name: 'bug' }] var b = a.filter(function(obj) { return obj.name !== 'dark' }) console.log(b)
注意:大多数数组函数都存在兼容性问题,因此在使用前应进行检查。
您可以使用这样的过滤器:
var a= [{name:'dark'},{name:'bug'}];
var b = a.filter(item => item.name != 'dark');
console.log(b); // [ { name: 'bug' } ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.