【发布时间】:2019-09-19 17:04:49
【问题描述】:
我正在尝试针对 search 变量(它是一个字符串)过滤下面的对象数组。因此,用户可以根据标题、年份或人名进行搜索
array = [{
"title": "Test",
"year": 2018,
"people": [
{
"name": "person1"
},
{
"name": "person2"
}],
},
{
"title": "Test2",
"year": 2018,
"people": [
{
"name": "person3"
},
{
"name": "person4"
},
{
"name": "person5"
}],
},...]
我已经编写了下面的函数,它适用于 title 和 year 但我不知道如何搜索里面的 people 数组功能。我知道如何在没有 ES6 的情况下做到这一点,但我更喜欢 ES6,这仍然让我感到困惑:
filteredArray() {
let search = this.search.toLowerCase();
return this.array.filter(function (item) {
return Object.values(item).some(val =>
String(val).toLowerCase().includes(search));
})
},
this.search 是 v-model,用于保存用户输入的值。
这是Codepen
感谢您的帮助:)
【问题讨论】:
标签: javascript vue.js ecmascript-6 filter