【发布时间】:2021-03-31 00:50:22
【问题描述】:
我正在尝试过滤和排序我的数据。它匹配数组中的所有值,它将位于数组的第一个。
const fruits = [
{name: 'banana', vitamins: ['Vitamin_C2', 'Vitamin_B']},
{name: 'orange', vitamins: ['Vitamin_B', 'Vitamin_A1', 'Vitamin_D']},
{name: 'apple', vitamins: ['Vitamin_C2', 'Vitamin_C', 'Vitamin_B']},
]
const vitaminsArray = ['Vitamin_C2', 'Vitamin_C', 'Vitamin_B'];
function filterAndSort(vitaminsArray) {
// enter amazing code here :P
}
// console.log(filterAndSort) expect output. it will filter vitamins object and sort the most on the first of the object.
[
{name: 'apple', vitamins: ['Vitamin_C2', 'Vitamin_C', 'Vitamin_B']},
{name: 'banana', vitamins: ['Vitamin_C2', 'Vitamin_B']},
{name: 'orange', vitamins: ['Vitamin_B', 'Vitamin_A1', 'Vitamin_D']},
]
我尝试了它的过滤器,但我无法进行排序。这是我的代码。
const filtered = fruits.filter(fruit => {
return vitaminsArray.some((type) => fruit.vitamins.includes(type));
})
// output
[
{name: 'banana', vitamins: ['Vitamin_C2', 'Vitamin_B']},
{name: 'apple', vitamins: ['Vitamin_C2', 'Vitamin_C', 'Vitamin_B']},
{name: 'orange', vitamins: ['Vitamin_B', 'Vitamin_A1', 'Vitamin_D']},
]
【问题讨论】:
-
操作。对不起,我错字了。谢谢你提出来!
-
你没有调用排序函数
标签: javascript sorting filter