Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按';肮脏的';数组中的哪个键?_Javascript_Vue.js - Fatal编程技术网

Javascript 如何按';肮脏的';数组中的哪个键?

Javascript 如何按';肮脏的';数组中的哪个键?,javascript,vue.js,Javascript,Vue.js,我需要用“sortby”键对这个对象进行排序,它在数组中?有人能帮忙吗?您应该创建一个对象键数组,然后根据数据中属性的值对其进行排序,然后将它们映射到一个新对象中: const数据={ “AA”:[ { “密钥名称”:“类别”, “值”:“长”, “sortby”:“3” } ], “BB”:[ { “密钥名称”:“类别”, “值”:“长”, “sortby”:“5” } ], “抄送”:[ { “密钥名称”:“类别”, “值”:“短”, “sortby”:“1” } ] } const re

我需要用“sortby”键对这个对象进行排序,它在数组中?有人能帮忙吗?

您应该创建一个对象键数组,然后根据数据中属性的值对其进行排序,然后将它们映射到一个新对象中:

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
}))