【问题标题】:filter an array of objects which contains key value pairs where value is an integer过滤包含键值对的对象数组,其中值是整数
【发布时间】:2021-11-17 03:18:48
【问题描述】:

我的数组是这样的

filtervalue = xy

arr = [{id:123, name:'xyz'}, {id:122, name:'xyy'}, {id:134, name:'zzz'}]

arr.filter((i) =>
          name.includes(filtervalue)
        );

上面给了我预期的输出如下

[{id:123, name:'xyz'}, {id:122, name:'xyy'}]

我正在尝试对 id 做同样的事情。它给了我一个错误

.includes 不是函数。

比如,当我的 filterval = 12 时

预期的输出应该如下

[{id:123, name:'xyz'}, {id:122, name:'xyy'}]

我如何做到这一点?

【问题讨论】:

  • 我认为name.includes(filtervalue) 应该是i.name.includes(filtervalue)

标签: javascript arrays filter include


【解决方案1】:

请使用这样的过滤功能。

const filtervalue = 12

const arr = [{id:123, name:'xyz'}, {id:122, name:'xyy'}, {id:134, name:'zzz'}]

const result = arr.filter((val) => val.id.toString().includes(filtervalue.toString()))

console.log(result)

【讨论】:

  • 我想通过 id 过滤它并达到相同的输出
  • 我用'toString'函数更新了代码
  • 谢谢,完全忘了有这个选项可以将数字转换为字符串
  • 希望你的工作顺利
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2019-07-30
  • 2020-02-13
  • 1970-01-01
相关资源
最近更新 更多