首页 > 解决方案 > 我想通过数组中的重复数据对数据进行排序[Vue中的Javascript]

问题描述

请帮帮我
Object = [{"name":A,"val":20}, {"name":B,"val":7}, {"name":C,"val":20}, {"name":D,"val":8}, {"name":E,"val":5}]

SortedValue = [20, 20, 7, 8, 5]

我想要这样-->Sorted_name = [A,C,D,B,E] or Sorted_name = [C,A,D,B,E]

标签: javascriptvue.js

解决方案


使用forEachon数组很简单,例如:SortedValuefindObj

let Obj = [{"name":"A","val":20}, {"name":"B","val":7}, {"name":"C","val":20}, {"name":"D","val":8} , {"name":"E","val":5}]

let SortedValue = [20, 20, 7, 8, 5];
let result = [];

SortedValue.forEach(x => {
   let findObj = Obj.find(y => y.val === x);
   if (findObj) {
      result.push(findObj.name);
      Obj.splice(Obj.map(z => z.name).indexOf(findObj.name), 1); 
   }
});

console.log(result);


推荐阅读