JavaScript 配列の項目を先頭に移動する 質問する

JavaScript 配列の項目を先頭に移動する 質問する

配列に が含まれているかどうかを確認します。 含まれている場合は、 を配列の先頭に"role"移動します。"role"

var data= ["email","role","type","name"];
if ("role" in data) data.remove(data.indexOf("role")); data.unshift("role")
data;

ここで、結果を得ました:

["role", "email", "role", "type", "name"]

これをどうすれば修正できますか?

ベストアンサー1

配列をソートし、値が"role"他のすべての値の前に来るように、また他のすべての値が等しいように指定できます。

var first = "role";
data.sort(function(x,y){ return x == first ? -1 : y == first ? 1 : 0; });

デモ:http://jsfiddle.net/Guffa/7ST24/

おすすめ記事