我有这样的数组
let students = [
[{name: 'didi', class: 'one'}, {name: 'dudu', class: 'one'}],
[{name: 'dede', class: 'two'}]
];我想要这样的结果...expected result
我试着用下面的代码做循环...
let studentsCatg='';
for (let i=0; i<students.length; i++){
for (let j=0; j<students[i].length; j++){
studentsCatg += '<ul style=\"border: 1px solid #ddd\">'
+'<li><p>'+students[i][j].name+'</p>'+students[i][j].class+'</p></li>'
+'</ul>'
}
}
document.getElementById('list').innerHTML = studentsCatg;但是像这样的结果..
请帮帮忙。谢谢。
发布于 2020-04-05 11:48:14
代码中的一些小变化:
let studentsCatg = '';
for (let i=0; i<students.length; i++){
studentsCatg += '<ul style=\"border: 1px solid #ddd\">';
for (let j=0; j<students[i].length; j++){
studentsCatg += '<li><p>'+students[i][j].name+'</p>'+students[i][j].class+'</p></li>';
}
studentsCatg += '</ul>';
}
document.getElementById('list').innerHTML = studentsCatg;发布于 2020-04-05 10:21:36
(function()
{
let studentLists = [
[{name: 'didi', class: 'one'}, {name: 'dudu', class: 'one'}],
[{name: 'dede', class: 'two'}]
];
let container = document.getElementById("result");
studentLists.map(function(studentList)
{
var ul = document.createElement('ul');
ul.classList.add("class");
studentList.map(function(object)
{
let li = document.createElement('li');
li.innerHTML = object.name + " <br />" + object.class;
ul.appendChild(li);
});
container.appendChild(ul);
});
})();.class{
border: thin solid #dbdbdb;
}<div id="result"><div>
发布于 2020-04-05 10:23:43
这是根据class对它们进行分类的一种方法
let students = [
[{name: 'didi', class: 'one'}, {name: 'dudu', class: 'one'}],
[{name: 'dede', class: 'two'}]
];
let tempObj = {};
students.forEach( stArr=>{
stArr.forEach( st=>
tempObj[st.class]?
tempObj[st.class].push(st):
tempObj[st.class] = [st]
)
})
console.log(tempObj)
https://stackoverflow.com/questions/61037123
复制相似问题