Подобрать все дочерние элементы и запушить в объект в виде массива | .each()

let obj = [ // сюда должны добавить новое св-во из html
    {id: 0, name: 'Murray', job: 'frontend', experience: 6},
    {id: 1, name: 'Bob', job: 'cybersec', experience: 4},
    {id: 2, name: 'Muhammad', job: 'backend', experience: 8},
    {id: 3, name: 'Vova', job: 'projmanager', experience: 12},
]
<div class="carsWrap">
    <div class="col">
        <smth...></smth...>
        <span class="car">Audi QQQ</span>
        <smth...></smth...>
    </div>
    <div class="col">
        <smth...></smth...>
        <span class="car">Mers S</span>
        <smth...></smth...>
    </div>
    <div class="col">
        <smth...></smth...>
        <span class="car">Chevy C</span>
        <smth...></smth...>
    </div>
    <div class="col">
        <smth...></smth...>
        <span class="car">Ford M</span>
        <span class="car">Ford F</span>
        <smth...></smth...>
    </div>
</div>

let obj = [ // output
    {id: 0, name: 'Murray', job: 'frontend', experience: 6, cars: ['Audi QQQ']},
    {id: 1, name: 'Bob', job: 'cybersec', experience: 4, cars: ['Mers S']},
    {id: 2, name: 'Muhammad', job: 'backend', experience: 8, cars: ['Chevy C']},
    {id: 3, name: 'Vova', job: 'projmanager', experience: 12, cars: ['Ford M', 'Ford F']},
]

Нужно все это проделать с помощью функции jquery ".each()"


Ответы (1 шт):

Автор решения: 隼SAPSAN

Залипушно конечно, но по описанию вопроса только так (нет)

let obj = [ // сюда должны добавить новое св-во из html
        {id: 0, name: 'Murray', job: 'frontend', experience: 6},
        {id: 1, name: 'Bob', job: 'cybersec', experience: 4},
        {id: 2, name: 'Muhammad', job: 'backend', experience: 8},
        {id: 3, name: 'Vova', job: 'projmanager', experience: 12},
    ]

$('.carsWrap').find('.col').each((index, element)=>
    {
        if(obj[index] && !obj[index].cars)
        {
            obj[index].cars = [];
        }
        $(element).find('.car').each((i, e)=>{
            obj[index].cars.push($(e).text())
        })
    })
    console.log(obj)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="carsWrap">
    <div class="col">
        <smth...></smth...>
        <span class="car">Audi QQQ</span>
        <smth...></smth...>
    </div>
    <div class="col">
        <smth...></smth...>
        <span class="car">Mers S</span>
        <smth...></smth...>
    </div>
    <div class="col">
        <smth...></smth...>
        <span class="car">Chevy C</span>
        <smth...></smth...>
    </div>
    <div class="col">
        <smth...></smth...>
        <span class="car">Ford M</span>
        <span class="car">Ford F</span>
        <smth...></smth...>
    </div>
</div>

→ Ссылка