一、js冒泡排序
bubbleSort(数组,要对比的键名)
bubbleSort: function (arr,sort) {
if (Array.isArray(arr)) {
for (var i = arr.length - 1; i > 0; i--) {
for (var j = 0; j < i; j++) {
if (sort) {
if (arr[j].sort > arr[j + 1].sort) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
} else {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
}
return arr;
}
}
二、js数组去重
unique(数组,要对比的键名)
function unique(arr,key) {
for (var i = 0, len = arr.length; i < len; i++) {
for (var j = i + 1, len = arr.length; j < len; j++) {
if (!key) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
j--;
len--;
}
} else {
if (arr[i].key == arr[j].key) {
arr.splice(j, 1);
j--;
len--;
}
}
}
}
return arr;
}
三、ES6数组去重
ES6数组去重
let arr = [1,2,3,4,3,4];
let arr2 = [...new Set(arr)];
四、数组扁平化
数组扁平化
var arr = [1, [2, [3]]];
function flatten(arr) {
var result = [];
debugger
for (var i = 0, len = arr.length; i < len; i++) {
if (Array.isArray(arr[i])) {
result = result.concat(flatten(arr[i]))
} else {
result.push(arr[i])
}
}
return result;
}
console.log(flatten(arr)) //[1,2,3]