#javascript
#javascript
Вопрос:
У меня есть следующий объект:
{
"Size": {
"L": [
"Men clothing",
"Women clothing",
"Toys"
],
"M": [
"Women clothing"
]
}
}
Я пытаюсь создать функцию, которая возвращает ключи размера, содержащие данную категорию.
Например, когда я передаю Men clothing
, мне нужно ожидать, что функция вернется ["L"]
. Я передаю Men clothing
и Women clothing
, мне нужно, чтобы результат был ["L", "M"]
.
Комментарии:
1. Похоже, что a
Size
является объектом вместо массива, вы можете Object.keys(Size), чтобы получить массив всех ключей [L,M], а затем проверить значения
Ответ №1:
Существует несколько способов получения ключей, содержащих заданную строку. Это один из них:
const collection = {
"Size": {
"L": [
"Men clothing",
"Women clothing",
"Toys"
],
"M": [
"Women clothing"
]
}
}
function getSizes(obj, categories) {
return Object.keys(obj).filter(key => {
return categories.some(category => obj[key].includes(category));
});
}
console.log(getSizes(collection.Size, ['Men clothing']));
console.log(getSizes(collection.Size, ['Men clothing', 'Women clothing']));