js 상용 알고리즘
var arr = [1, 2];
var _arr = [].slice.call(arr, 0);
// bind
Function.prototype.bind = function(ctx) {
var _this = this;
var arg = [].slice.call(arguments, 1);
var fBind = function() {
return _this.apply(ctx, arg.concat([].slice.call(arguments)))
}
return fBind;
}
//
var quickSort = function(arr) {
if (arr.length <= 1) return arr;
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = [];
var right = [];
for(var i = 0; i < arr.length; i++) {
if(arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
}
//
var bubbleSort = function(arr) {
for(var i = 0; i < arr.length; i++) {
for(var j = i + 1; j < arr.length; j++) {
if(arr[i] > arr[j]) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
//
var distinct = function(arr) {
var obj = {}, result = [];
for(var i = 0; i < arr.length; i++) {
if(!obj[arr[i]]) {
obj[arr[i]] = 1;
result.push(arr[i]);
}
}
return result;
}
//
var distinct1 = function(arr) {
var result = [];
for(var i = 0; i < arr.length; i++) {
for(var j = i + 1; j < arr.length; j++) {
if(arr[i] === arr[j]) {
j = ++i
}
}
result.push(arr[i]);
}
return result;
}
// indexOf
var distinct2 = function(arr) {
var result = [];
arr.forEach(function(v, i) {
var bool = arr.indexOf(v, i + 1);
if(bool === -1) {
result.push(v);
}
})
return result;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.