Javascript 如何在VueJS中使用过滤器获取数组的特定元素(数组)?

Javascript 如何在VueJS中使用过滤器获取数组的特定元素(数组)?,javascript,vue.js,Javascript,Vue.js,我试图获得某种价值;例如,如果我得到'2019'作为排序id,我想得到包含'2019'作为排序id的元素 . 因此,我必须得到2个works元素 进一步的问题)filter函数是从数组中筛选数组还是仅从数组中筛选一个元素 export default { works : [ { works_id: 'works1', sort_title: 'years', sort: '2019', title: 'etd1',

我试图获得某种价值;例如,如果我得到'2019'作为排序id,我想得到包含'2019'作为排序id的元素 . 因此,我必须得到2个works元素 进一步的问题)filter函数是从数组中筛选数组还是仅从数组中筛选一个元素

export default {
works : [
    {
        works_id: 'works1',
        sort_title: 'years',
        sort: '2019',
        title: 'etd1',
        year: '2019',
    },
    {
        works_id: 'works2',
        sort_title: 'years',
        sort: '2019',
        title: 'etd2',
        year: '2019',
    },
    {
        works_id: 'works3',
        sort_title: 'years',
        sort: '2018',
        title: 'etd1',
        year: '2018',
    }
 ]
}




<template>
 <div class="">
  <div v-for="(o, index) in getWorksImgs" :key="index">
   <div v-for="(a, index) in o" :key="index">
    <img :src="a.mother">
   </div>

 </div>
</div>
导出默认值{
作品:[
{
works_id:“works1”,
排序标题:“年”,
排序:'2019',
标题:“etd1”,
年份:2019年,
},
{
works_id:“works2”,
排序标题:“年”,
排序:'2019',
标题:“etd2”,
年份:2019年,
},
{
works_id:“works3”,
排序标题:“年”,
排序:“2018年”,
标题:“etd1”,
年份:“2018年”,
}
]
}


从“@/storage/works”导入StorageWorks
导出默认值{
名称:‘作品’,
数据(){
返回{
workings:StorageWorks.works,
sort_id:this.$route.params.sort_id
}
},
计算:{
getWorksImgs(){
设worksImgs=this.worksImgs
worksImgs=worksImgs.filter(w=>w.sort===this.sort\u id)
返回工作图像
}
}
}

以下代码将返回您想要的2件作品

let filteredArrayOfObjects = this.works.filter(function (item) {
          return item.sort === '2019';
        });
console.log("You will get two objects returned here" + filteredArrayOfObjects)

这里是根据条件过滤对象数组,而不是数组数组。

我不明白。你能解释更多细节吗?我看不出这和我的代码有什么区别
let filteredArrayOfObjects = this.works.filter(function (item) {
          return item.sort === '2019';
        });
console.log("You will get two objects returned here" + filteredArrayOfObjects)