Javascript JSON按字母顺序排序
我正在尝试将下面的JSON输出为HTML。我已经创建了该对象以及该对象的属性,但是,我正在努力将其输出到HTML。这是我到目前为止所拥有的。有什么想法吗Javascript JSON按字母顺序排序,javascript,json,Javascript,Json,我正在尝试将下面的JSON输出为HTML。我已经创建了该对象以及该对象的属性,但是,我正在努力将其输出到HTML。这是我到目前为止所拥有的。有什么想法吗 var人; 人=[{ 名字:“唐·莫洛伊”, 类别:"学术" }, { 名字:“帕特·奎尔”, 类别:"学术" } ]; console.log(人); var myObj=JSON.parse(人); document.getElementById(“输出人员”).innerHTML=myObj.name 这不是json对象。它是一个普通的
var人;
人=[{
名字:“唐·莫洛伊”,
类别:"学术"
},
{
名字:“帕特·奎尔”,
类别:"学术"
}
];
console.log(人);
var myObj=JSON.parse(人);
document.getElementById(“输出人员”).innerHTML=myObj.name代码>
这不是json
对象。它是一个普通的数组对象。因此,请删除json.parse()
。然后像这样更改输出内部HTML dommyObj[0]。名字
更新:
对于所有带排序的first\u name。请尝试此myObj.map(a=>a.first\u name.sort().join(“and”)
var人;
人=[{
名字:“唐·莫洛伊”,
类别:"学术"
},
{
名字:“帕特·奎尔”,
类别:"学术"
}
];
人=人。排序((a,b)=>{
var a1=a.first_name.toLowerCase();
var b1=b.first_name.toLowerCase();
返回a1 b1?1:0;
})
console.log(人);
var myObj=人;
document.getElementById(“输出人”).innerHTML=myObj.map(a=>a.first\u name).join(“和”)
对于您的问题“按字母顺序进行JSON排序”,您可以首先使用它对数组进行排序,然后填充output
变量,还可以使用分隔符来在html中显示名称
代码:
const people=[{名字:唐·莫洛伊,类别:学术'},{名字:帕特·奎尔,类别:学术'}];
常量分隔符=“
”;
//按名称对对象数组进行排序,并使用分隔符填充输出
常量输出=人
.sort((a,b)=>a.first\u name.toLowerCase().localeCompare(b.first\u name.toLowerCase())
.map(user=>user.first\u name)
.连接(分隔符);
console.log(人);
document.getElementById('output-people')。innerHTML=output代码>
JSON在JS中按字母顺序排序=>
您可以这样尝试:
function compareStrings(a, b) {
// Assuming you want case-insensitive comparison
a = a.toLowerCase();
b = b.toLowerCase();
return (a < b) ? -1 : (a > b) ? 1 : 0;
}
places.sort(function(a, b) {
return compareStrings(a.first_name, b.first_name);
})
函数比较(a、b){
//假设您想要不区分大小写的比较
a=a.toLowerCase();
b=b.toLowerCase();
返回值(ab)-1:0;
}
位置.排序(函数(a,b){
返回compareStrings(a.first\u name,b.first\u name);
})
请指定您想要什么。顺序还是输出,或者两者都是?首先,我想将属性输出到一个列表中。完成这项工作后,下一个障碍是按字母顺序按“名字”列出它们。感谢首先,people
是一个数组,而不是JSON。第二,属性name
在哪里?没有“name”属性;你现在正在做你想做的事情。我会后退一步,快速搜索如何在js中解析和使用json。注意到目前为止这里还没有json。@weedoze-正确,应该是属性“first_name”而不是“name”。谢谢汉克斯:-)你将如何按字母顺序列出所有“名字”属性?i、 在对象数组中,要排序的属性是字符串。。因此,您的代码将无法工作correctly@Yosvel昆特罗-好的,你认为什么最有效?对象数组可以根据其属性之一的值进行排序:@prasad perfect,这是我唯一的评论。。你的答案很完美!