#jquery
#jquery
Вопрос:
Это самое близкое, что у меня есть…
var myArray = $(".req").map(function() {
return $(".ans > li").text();
}).get();
console.log(myArray);
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<ul>
<li class="req">apple
<ul class="ans">
<li>apple1</li>
<li>apple2</li>
</ul>
</li>
<li class="req">banana
<ul class="ans">
<li>banana1</li>
<li>banana2</li>
</ul>
</li>
</ul>
Результат, который мне нужен:
[
apple = ["apple1", "apple2"],
banana = ["banana1", "banana2"]
]
Я не программист и могу редактировать только существующие коды, пробовал и ошибался, но все еще безуспешно … спасибо за вашу помощь.
Ответ №1:
Вы могли бы инициализировать пустой объект массива и заполнить его следующим образом:
var answer = {};
$.each($("li.req"), function() {
var type = $(this).text().split("n")[0];
answer[type] = $(this).find("li").map(function() {
return $(this).text()
}).get()
});
console.log(answer)
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<ul>
<li class="req">apple
<ul class="ans">
<li>apple1</li>
<li>apple2</li>
</ul>
</li>
<li class="req">banana
<ul class="ans">
<li>banana1</li>
<li>banana2</li>
</ul>
</li>
</ul>