Задача такая: нужно "вернуть родословную" в 2 объектах т.е
есть 2 объекта obj1
и obj2
и их свойства:
obj1["Женщинам"] = 'кросовки,топы';
obj1["Мужчинам"] = 'шорты,майки';
obj2["кросовки"] = 'adidas,puma';
obj2["топы"] = '...';
...
теперь допустим нужно найти puma
и функция должна вернуть кросовки -> Женщинам
В функцию search
передаете в масиве сколько угодно обьектов по которым будет осуществлятся поиск и значение от которогу нужно построить цепочку. Обьекты нужно передавать в порядке в которм должен осужествляться поиск. На выходе получите масив с ключами где были найдены вхождения.
const obj1 = {};
const obj2 = {};
obj1["Женщинам"] = 'кросовки,топы';
obj1["Мужчинам"] = 'шорты,майки';
obj2["кросовки"] = 'adidas,puma';
const search = (arrObj, target) => arrObj.reduce(
(prev, curr, index) => [
...prev,
Object
.keys(curr)
.find(key => curr[key].includes(prev[index]))
],
[target]
)
window.document.getElementById('result').innerHTML = search([obj2, obj1], "puma").join('->')
<div id="result"></div>
пс: перед тем как использовать в продакшене нужно допилить обработку исключительных ситуаций ;)
Попробуйте так))
let obj1 = {
"Женщинам": 'кросовки,топы',
"Мужчинам": 'шорты,майки'
};
let obj2 = {
"кросовки": 'adidas,puma',
"топы": 'nike,guchi',
"шорты": 'nike'
};
$('#click_me').click(function() {
let name = $('#company').val();
let keys2 = [];
$.each(obj2, function( key, value ) {
if (value.indexOf(name) !== -1) {
keys2.push(key);
}
});
$.each(keys2, function( key2, value2 ) {
$.each(obj1, function( key1, value1 ) {
if (value1.indexOf(value2) !== -1) {
console.log(value2 + ' -> ' + key1);
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input placeholder="Введите фирму" type="text" id="company"></input>
<button id="click_me">Click ME</button>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
помогите решить проблему , пытаюсь повесить событие клик на селектор SVG но событие не срабатывает , не могу понять почему
У меня есть jsf, который динамически вставляю в IframeТребуется, чтобы iframe подстроился под высоту содержимого(сейчас это вертикальный скролл)
Всем привет, я только начал учить AngularJS, поэтому не судите строгоУ меня возник такой вопрос: Мне с API приходит такой JSON: