javascript - 如何从对象中排序数组?

标签 javascript

如何从对象中对数组进行排序? 代码:

         let A = [ { text: '故事', value: 'story', },
                   { text: '诗歌', value: 'poetry', },
                   { text: '励志', value: 'inspirational', }
                 ];
         // array B from backend** 
         let B = { 
                   story: 2,
                   poetry: 34,
                   inspirational: 30,
                 };

我想得到这个:

             [ 
               { text: '诗歌', value: 'poetry', },
               { text: '励志', value: 'inspirational'},
               { text: '故事', value: 'story', }, 
             ];

最佳答案

只需使用 JavaScript sort功能。

注意:排序数字时,可以简单地使用紧凑比较:

Compact Comparison:: myArray.sort((n1,n2) => n1 - n2);

let A = [ { text: '故事', value: 'story', },
                   { text: '诗歌', value: 'poetry', },
                   { text: '励志', value: 'inspirational', }
                 ];
         // array B from backend** 
         let B = { 
                   story: 2,
                   poetry: 34,
                   inspirational: 30,
                 };
 A.sort((a, b) => B[b.value]-B[a.value] );
                 console.log(A);

关于javascript - 如何从对象中排序数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51530446/

相关文章:

javascript - 在 Kendo Angular DatePicker 中禁用 future 日期

javascript - 使用 jquery 更改字段

javascript - 选择框更改上的 jQuery 更改单选按钮

javascript - 这是无效的 JSON 吗?

javascript - 从列表中更改所选元素的 Vue.js 转换

javascript - AngularJs 将指令参数绑定(bind)到 mdDialog 的表单

javascript - 在javascript中动态创建具有累积和的对象数组

javascript - ReactJS:未捕获( promise 中)TypeError:无法读取 fetch.then.then.json 处未定义的属性 'addressLine1'

javascript - 如何将列表显示为表格?

javascript - 为什么变量++的工作方式与变量+1不同