我不知道如何对已经计算过的结果数组进行排序。
在Vue中,我根据图像的比例对图像进行过滤。现在,我想按日期、名称或任何可能的方式对各个结果进行排序。
我尝试使用一个方法对数组进行排序,但此解决方案不会自动重新计算并动态显示排序的结果。
data() {
return {
results: [],
imgProperties: {
imgId: [],
imgRatio: [],
imgCreateDate: []
}
};
},
computed: {
resultsFiltered() {
if (this.sliderVal == 0) {
return this.results;
} else {
const obj = [];
const arr = [];
for (let i = 0; i < this.ratioIndeces.length; i++) {
const element = this.ratioIndeces[i];
obj.push(this.results[element]);
arr.push(this.imgProperties.imgRatio[element]);
}
return obj;
}
}
},这里看不到排序方法。
我想知道如何或从哪里开始。
代码示例显示了当前结构的摘录。在这些方法中计算了该比率。
我想按以下方式对数组进行排序
和
..。
发布于 2021-02-19 19:23:05
这是我的最新方法
过滤结果并对其进行排序
同时通过参数:
computed: {
resultsFiltered () {
return this.built.dataset.filter(img => {
return this.customFilters.every(key => {
const parameter = this.params[key]
const args = parameter.map(val => this.customInputs[val]).slice(1)
return filterMenus[key](img[parameter[0]], ...args)
})
}).sort(this.sortings[this.sortDirection][this.sortType])
}
},单个元素:
=是一个对象数组。每个img都是一个对象。
=是一个带有筛选选项的数组。如“ratio”或“keyword”。这样我就可以用我在列表中得到的每一个键进行过滤。
=用户键入的内容。日期范围、比率、关键字、年份...
=将img1与img2进行比较
=向上或向下。就像‘img2.rate-img1.atio’
=字母、数字、按日期或重置为默认视图
https://stackoverflow.com/questions/58721267
复制相似问题