对数组值进行排序以匹配另一个数组ES6

时间:2016-05-13 21:53:24

标签: javascript reactjs

简而言之,我尝试做的是使用一个数组的顺序来遵循另一个数组的顺序...

例如...... (使用ES6 React)

const orderArr = ["Daniel","Lucas","Gwen","Henry","Jasper"];
const nameArr = ["Gwen","Jasper","Daniel"];

返回

Daniel // first
Gwen   // second
Jasper // third

所以新数组看起来像const newNameArr = ["Daniel","Gwen","Jasper"]; //遵循顺序

orderArr是我要关注的有序数组。因此,如果出现任何其他数组(nameArr),则应遵循orderArr的顺序。

这甚至可能吗?

1 个答案:

答案 0 :(得分:2)

一种方法是filter使用orderArr作为基础,不会出现在两个数组中。这样可以确保它们的显示顺序与orderArr中显示的顺序相同。



const orderArr = ["Daniel","Lucas","Gwen","Henry","Jasper"];
const nameArr = ["Gwen","Jasper","Daniel"];
const newNameArr = orderArr.filter((x) => nameArr.indexOf(x) > -1);
document.write('<pre>' + JSON.stringify(newNameArr, null, 2) + '</pre>');
&#13;
&#13;
&#13;