javascriptの中で組は重いいくつかの方法に行きます.
5998 ワード
配列
重い問題は開発の中ではほとんど先端で処理しないですが、先端はまだ熟練していて、しかも面接の中のホットスポットです.だから、興味がある友達は一緒に勉強してもいいです.
第一の方法–配列indexOf()を利用する方法
重い問題は開発の中ではほとんど先端で処理しないですが、先端はまだ熟練していて、しかも面接の中のホットスポットです.だから、興味がある友達は一緒に勉強してもいいです.
第一の方法–配列indexOf()を利用する方法
Array.prototype.only = function() {
var arr = this;
var newArr = [];
for (var i = 0; i < arr.length; i++) {
// arr[i],
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var arr = [3, 4, 5, 4, 3, 2, 1, 5, 6];
console.log(arr.unique());
第二の方法–オブジェクトの属性を利用する Array.prototype.only = function() {
var arr = this;
var newArr = [];
var obj = {};
for (var i = 0; i < arr.length; i++) {
// arr[i] , , 1-- ;
if (!obj[arr[i]]) {
newArr.push(arr[i]);
obj[arr[i]] = 1;
}
}
return newArr;
}
var arr = [7, 4, 5, 8, 3, 2, 5, 5, 6];
console.log(arr.only());
第三の方法–行列の並べ替えを利用する–sort()方法 Array.prototype.only = function() {
var arr = this;
var arr1 = arr.sort();
var newArr = [arr1[0]];
for (var i = 1; i < arr1.length; i++) {
// arr1 i , ,
if (arr1[i] != newArr[newArr.length - 1]) {
newArr.push(arr1[i]);
}
}
return newArr;
}
var arr = [7, 10, 5, 11, 3, 2, 5, 5, 6];
console.log(arr.only());
第四の方法–二重forサイクルを利用する Array.prototype.only = function() {
var arr = this;
var newArr = [arr[0]];
for (var i = 0; i < arr.length; i++) {
var flag = false;
for (var j = 0; j < newArr.length; j++) {
// ,
if (arr[i] == newArr[j]) {
flag = true;
break;
}
}
if (!flag) {
newArr.push(arr[i]);
}
}
return newArr;
}
var arr = [20, 10, 5, 11, 5, 2, 5, 5, 6];
console.log(arr.only());