Javascript 如何基于其他数组对数组进行排序

Javascript 如何基于其他数组对数组进行排序,javascript,sorting,Javascript,Sorting,数组 var items = [ ['alice','bob', 'emma', 'isabella'], ['emma','sofia', 'alice', 'bob'], ['bob','emma', 'alice'] ]; 如何按具体顺序映射项目['alice'、'emma'、'bob'、…其他] 每个数组都可以包含alice、bob和emma等项以及其他项 var项目=[ [‘爱丽丝’、‘鲍勃’、‘艾玛’、‘伊莎贝拉’], ['emma'、'sofia'、'al

数组

var items = [
    ['alice','bob', 'emma', 'isabella'],
    ['emma','sofia', 'alice', 'bob'],
    ['bob','emma', 'alice']
];
如何按具体顺序映射项目
['alice'、'emma'、'bob'、…其他]

每个数组都可以包含alice、bob和emma等项以及其他项
var项目=[
[‘爱丽丝’、‘鲍勃’、‘艾玛’、‘伊莎贝拉’],
['emma'、'sofia'、'alice'、'bob'],
['bob'、'emma'、'alice']
];
const NAME=['alice','bob','emma'];
设res=[];
items.forEach(名称=>{
名称.排序((a,b)=>{
indA=名称。indexOf(a);
indB=NAME.indexOf(b);
如果(indA!=-1)
返回(indB!=-1)?indA indB:-1;
否则返回(indB!=-1)?1:0;
});
res.push(名称);
});

控制台日志(res)你所说的“按具体顺序映射项目”是什么意思?您是否要求对其进行
.sort()
排序?items.map((item)=>(//在这里,item我想按顺序排列alice、bob、emma和其他。顺序是如何选择的?它是按字母顺序排列的,是随机排列的,是
items
中第一个数组中的一个吗?你想在内部数组中第一次出现时对item数组进行排序,还是想对名称数组进行排序?@Alex那么你要找的是什么?你应该如果
indA
indB
都是
-1
,则uld返回
0
,否则这不是一个一致的比较函数。最简单的方法是
return(indA=-1)-(indB=-1)| indA-indB;
@Bergi-你是对的。谢谢,我更正了它。