gpt4 book ai didi

javascript - 使用键将对象放入数组然后显示它们

转载 作者:行者123 更新时间:2023-11-29 16:12:35 25 4
gpt4 key购买 nike

我有一个对象数组,我试图像这样对它们进行分组和显示:

A 级:BobM、MollyF

B 级:SueF、JoeN、JackF

这是 jsFiddle:http://jsfiddle.net/PtNLL/4/

var list ={"PEOPLE": [
{ "name": "Bob", "level": "A", "gender": "F"},
{ "name": "Sue", "level": "B", "gender": "F"},
{ "name": "Molly", "level": "A", "gender": "M"},
{ "name": "Joe", "level": "B", "gender": "N"},
{ "name": "Jack", "level": "B", "gender": "F"}
]};


var lvlList = new Array();

for(var i in list.PEOPLE){
var key = list.PEOPLE[i].level;
lvlList[key].push(list.PEOPLE[i]);
}

$('#dir2').append( "Here are the Level As");
for(var j in lvlList["A"]) {
$('#dir2').append( lvlList[j].name +lvlList[j].gender + "<br/>");
}

$('#dir2').append( "Here are the Level Bs");
for(var k in lvlList["B"]) {
$('#dir2').append( lvlList[k].name + lvlList[k].gender + "<br/>");
}

另外,我知道下划线有一个组函数,但我不明白它,我无法让它工作:http://jsfiddle.net/5J553/1/如果有人认为这是更好的方法。

最佳答案

我无法运行您的代码,因为您不能push 一个项目到一个非数组。我用这个让它工作:

var lvlList = [];

for(var i in list.PEOPLE){
var key = list.PEOPLE[i].level;
(key in lvlList) ? lvlList[key].push(list.PEOPLE[i]) : lvlList[key] = [list.PEOPLE[i],];
}


for (var key in lvlList.A) {
console.log(lvlList.A[key].name, lvlList.A[key].gender);
}

for (var key in lvlList["B"]) {
console.log(lvlList["B"][key].name, lvlList["B"][key].gender);
}

现在只需为您的 jQuery.append 减去 console.log,您就可以开始了。

编辑

请注意,此“Array”的行为与普通数组不同。要打印它的成员,你不能简单地写名字..数组是空的。您也不能使用 .forEach()。此屏幕截图来自 Chrome 控制台。 (我最喜欢用于控制台脚本的 Chrome。)

Chrome console

关于javascript - 使用键将对象放入数组然后显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com