Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
291 views
in Technique[技术] by (71.8m points)

javascript sorting array based on another array

I have a global array

var g = [ "jack", "queen", "king", "10", "ace","7", "8", "9"];

and my array

var my = ["9","king","7","ace"];

This array will be sorted according to the global array g;

if I sort my array the output will be

["king","ace","7","9"]

I played a lot with arrays but can't accomplish this. Please help me sorting out this issue. Thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

One possible way:

var g = ['jack', 'queen', 'king', '10', 'ace', '7', '8', '9'];
var my = ['9', 'king', '7', 'ace'];

my.sort(function(a, b) {
  return g.indexOf(a) - g.indexOf(b);
});

console.log( my );

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...