数组交并补集 及 去重
let a = [1, 2, 3]
let b = [2, 3, 4]
let intersect = a.filter(item => new Set(b).has(item)) // [ 2, 3 ] 交集
let union1 = [...new Set([...a, ...b])] // [ 1, 2, 3, 4 ] 并集 或 数组去重
let union2 = Array.from(new Set([...a, ...b])) // [ 1, 2, 3, 4 ] 并集 或 数组去重
let difference = a.filter(item => !new Set(b).has(item)) // [1] b在a中的补集
function union (array) {
let out = []
for (var i = 0; i < array.length; i++) {
if (out.indexOf(array[i]) == -1) {
out.push(array[i])
}
}
return out
}
function union (array) {
for (var i = 0; i < array.length; i++) {
for (var j = i+1; j < array.length; j++) {
if (array[i] == array[j]) {
array.splice(j, 1)
j--
}
}
}
return array
}
排序(升序)
冒泡排序:
function sort (array) {
var val
for (var i = 0; i < array.length-1; i++) {
for (var j = 0; j < array.length-1-i; j++) {
if (array[j] > array[j + 1]) {
val = array[j+1]
array[j+1] = array[j]
array[j] = val
}
}
}
return array
}
最大值
function maxValue (array) {
var max = array[0]
for (var i = 1; i < array.length; i++) {
if (max < array[i]) {
max = array[i]
}
}
return max
}