I want to check if an array contains "role"
. If it does, I want to move the "role"
to the front of the array.
var data= ["email","role","type","name"]; if ("role" in data) data.remove(data.indexOf("role")); data.unshift("role") data;
Here, I got the result:
["role", "email", "role", "type", "name"]
How can I fix this?
Advertisement
Answer
You can sort the array and specify that the value "role"
comes before all other values, and that all other values are equal:
var first = "role"; data.sort(function(x,y){ return x == first ? -1 : y == first ? 1 : 0; });