次のような JavaScript 配列があります:
var myData=['237','124','255','124','366','255'];
配列要素は一意でソートされている必要があります。
myData[0]='124';
myData[1]='237';
myData[2]='255';
myData[3]='366';
配列のメンバーは整数のように見える、彼らは整数ではないすでにそれぞれを文字列に変換してあるので、
var myData[0]=num.toString();
//...and so on.
これらすべてのタスクを JavaScript で実行する方法はありますか?
ベストアンサー1
これは実はとても簡単です。値が最初にソートされていれば、一意の値を見つけるのがずっと簡単になります。
function sort_unique(arr) {
if (arr.length === 0) return arr;
arr = arr.sort(function (a, b) { return a*1 - b*1; });
var ret = [arr[0]];
for (var i = 1; i < arr.length; i++) { //Start loop at 1: arr[0] can never be a duplicate
if (arr[i-1] !== arr[i]) {
ret.push(arr[i]);
}
}
return ret;
}
console.log(sort_unique(['237','124','255','124','366','255']));
//["124", "237", "255", "366"]