Javascript 从数组获取数据时出现问题';s字典JS
我在获取阵列中存储的数据时遇到问题。我看不出函数的问题在哪里,为什么返回未定义的元素 这是我在数组中存储数据的函数:Javascript 从数组获取数据时出现问题';s字典JS,javascript,jquery,arrays,dictionary,Javascript,Jquery,Arrays,Dictionary,我在获取阵列中存储的数据时遇到问题。我看不出函数的问题在哪里,为什么返回未定义的元素 这是我在数组中存储数据的函数: function getTaskKidData(str) { var tasks = $('#tasks_data > div');; var formated_tasks = []; var formated_kids = []; formated_homeworks = []; tasks.each(function(index) {
function getTaskKidData(str) {
var tasks = $('#tasks_data > div');;
var formated_tasks = [];
var formated_kids = [];
formated_homeworks = [];
tasks.each(function(index) {
var task_kids = $(this).find('ul').eq(0).find('li');
var task_homeworks = $(this).find('ul').eq(1).find('li');
if (task_kids.length > 0 && task_homeworks.length > 0) {
task_kids.each(function(index) {
var kid_name = $(this).text().trim();
if (str == "kid"){
var kid = $('#kid_list > li > a[class*="active"]').text().replace(window.location.pathname.split('/')[2],'').trim();
if (kid == kid_name){
formated_kids.push({'name': kid_name});
}
}else{
formated_kids.push({'name': kid_name});
}
});
task_homeworks.each(function(index) {
var homework_name = $(this).find('p').eq(0).text().trim();
var homework_date = $(this).find('p').eq(1).text().trim();
formated_homeworks.push({
'name': homework_name,
'date': homework_date,
});
});
formated_tasks.push({
'kids': task_kids,
'homeworks': task_homeworks,
})
}
});
return formated_tasks;
}
如果我将数据存储为文本,我不明白为什么数组输出中的对象是“li”标记。数组的输出是下一个:
这是我试图获取数据的代码:
var tasks = getTaskKidData("kid");
console.log(tasks)
for (let i = 0; i < tasks.length; i++) {
console.log("schedule");
for (let j = 0; j < tasks[i]['kids'].length; j++) {
console.log(tasks[i]['kids'][j]['name']);
}
for (let j = 0; j < tasks[i]['homeworks'].length; j++) {
console.log(tasks[i]['homeworks'][j]['name']);
console.log(tasks[i]['homeworks'][j]['date']);
}
}
var tasks=getTaskKidData(“kid”);
console.log(任务)
for(设i=0;i
这是我运行代码时的输出:
你知道这个问题吗
谢谢你的阅读 在您的代码中
var task_kids = $(this).find('ul').eq(0).find('li');
然后你记录下孩子们的任务。日志输出显示li元素,因为您选择了li元素