javascript - javascript #map 如何从数组中删除对象?

标签 javascript arrays

为什么下面返回未定义?我不应该回来[{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)

用法

  • Map:如果您希望从对象数组中获取对象的某些属性。
  • 过滤器:如果您希望根据条件获取特定值。这将返回数组。
  • 查找:如果您只想获取第一个匹配值。这将返回元素而不是数组。
  • forEach:如果您希望循环数组并进行特定处理。

注意:大多数数组函数都存在兼容性问题,您应该在使用前检查一下。

引用文献

  • map :map() 方法创建一个新数组,其结果是对该数组中的每个元素调用提供的函数
  • Filter :filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。

关于javascript - javascript #map 如何从数组中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39188506/

相关文章:

ruby - 合并数组而不丢失原始顺序,ruby

javascript - 如何使用 javascript 或 jquery 在 html div 标签中加载 url

javascript - mysql 检索数据,为每个数据附加一个新行

javascript - 从 ASP 标签控件中读取文本(由 jquery 填充)

javascript - 无法隐藏网页上的垂直滚动条

php - 从数组中删除重复项,然后删除空值,然后重组

javascript - 我可以在 AngularJS {{ array [ {{index }} ] }} 中使用它吗?

计算未初始化字符数组的长度

javascript - 在鼠标悬停后将定时保持应用于 css 悬停元素

c - 将事物求和到数组的程序