Javascript 如何按';肮脏的';数组中的哪个键?
我需要用“sortby”键对这个对象进行排序,它在数组中?有人能帮忙吗?您应该创建一个对象键数组,然后根据数据中属性的值对其进行排序,然后将它们映射到一个新对象中:Javascript 如何按';肮脏的';数组中的哪个键?,javascript,vue.js,Javascript,Vue.js,我需要用“sortby”键对这个对象进行排序,它在数组中?有人能帮忙吗?您应该创建一个对象键数组,然后根据数据中属性的值对其进行排序,然后将它们映射到一个新对象中: const数据={ “AA”:[ { “密钥名称”:“类别”, “值”:“长”, “sortby”:“3” } ], “BB”:[ { “密钥名称”:“类别”, “值”:“长”, “sortby”:“5” } ], “抄送”:[ { “密钥名称”:“类别”, “值”:“短”, “sortby”:“1” } ] } const re
const数据={
“AA”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“3”
}
],
“BB”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“5”
}
],
“抄送”:[
{
“密钥名称”:“类别”,
“值”:“短”,
“sortby”:“1”
}
]
}
const res=Object.keys(data.sort)(a,b)=>{
返回parseInt(数据[a][0]。排序比,10)-parseInt(数据[b][0]。排序比,10)
});
const sortedData={};
res.map(key=>sortedData[key]=data[key]);
console.log(sortedData)
您应该创建一个对象键数组,然后根据数据中属性的值对其进行排序,然后将它们映射到一个新对象:
const数据={
“AA”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“3”
}
],
“BB”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“5”
}
],
“抄送”:[
{
“密钥名称”:“类别”,
“值”:“短”,
“sortby”:“1”
}
]
}
const res=Object.keys(data.sort)(a,b)=>{
返回parseInt(数据[a][0]。排序比,10)-parseInt(数据[b][0]。排序比,10)
});
const sortedData={};
res.map(key=>sortedData[key]=data[key]);
console.log(sortedData)
单线解决方案:
var o={
“AA”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“3”
}
],
“BB”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“5”
}
],
“抄送”:[
{
“密钥名称”:“类别”,
“值”:“短”,
“sortby”:“1”
}
]
}
o=对象。键(o)。排序(函数(a,b){
返回parseInt(o[a][0].sortby)-parseInt(o[b][0].sortby);
}).减少(功能)(附件e){
acc[e]=o[e];返回acc;
}, {})
控制台日志(o)代码>单线解决方案:
var o={
“AA”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“3”
}
],
“BB”:[
{
“密钥名称”:“类别”,
“值”:“长”,
“sortby”:“5”
}
],
“抄送”:[
{
“密钥名称”:“类别”,
“值”:“短”,
“sortby”:“1”
}
]
}
o=对象。键(o)。排序(函数(a,b){
返回parseInt(o[a][0].sortby)-parseInt(o[b][0].sortby);
}).减少(功能)(附件e){
acc[e]=o[e];返回acc;
}, {})
控制台日志(o)代码>否,无法对对象进行排序。为什么要对对象进行排序?@Bergi json数据无法排序?@hasanmuntasir否,json对象没有顺序。改用数组。即使对对象进行排序,也不能保证它保持有序。不,不能对对象进行排序。为什么要对对象进行排序?@Bergi json数据无法排序?@hasanmuntasir不,json对象没有顺序。改用数组。即使对对象进行排序,也不能保证它保持有序。这是五行预移动\n:d共五行!:预先移动\n:D
{
"AA": [
{
"key_name": "category",
"value": "long",
"sortby": "3"
}
],
"BB": [
{
"key_name": "category",
"value": "long",
"sortby": "5"
}
],
"CC": [
{
"key_name": "category",
"value": "short",
"sortby": "1"
}
]
}
Object.fromEntries(Object.entries(obj).sort(([key1, value1], [key2, value2]) => {
return value1[0].sortby - value2[0].sortby
}))