数组的添加
arr.push()-----添加到结尾
arr.unshift()-----添加到头部
数组的删除
arr.shift()-----删除第一个
delete arr[0] ----删除第一个
arr.pop() -----删除最后一个
arr.splice(i,1) ---- 删除下标为i的一项
数组的排序
var arr = [1, 5, 2, 5, 9, 10, 4];
//数组升序
arr.sort((a, b) => {
return a - b;
});
console.log(arr);
// [1, 2, 4, 5, 5, 9, 10]
//数组降序
arr.sort((a, b) => {
return b - a;
});
console.log(arr);
// [10, 9, 5, 5, 4, 2, 1]
数组去重(常用)
1、[...new Set(arr)]
[...new Set(arr)]
2、filter()搭配indexOf特性
const arr = arr.filter((item,index){
return arr.indexOf(item) === index; // 因为indexOf 只能查找到第一个
});
对数组中的对象排序
export function sortUnitType(prop) {
return function(obj1, obj2) {
var val1 = obj1[prop]
var val2 = obj2[prop]
if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
val1 = Number(val1)
val2 = Number(val2)
}
if (val1 > val2) {
return -1
} else if (val1 < val2) {
return 1
} else {
return 0
}
}
}
数组对象去重
1、reduce
dddd() {
const fff = [{ n: 1 }, { n: 2 }, { n: 2 }, { n: 1 }, { n: 3 }]
var obj = {}
const gg = fff.reduce((prev, cur) => {
obj[cur.n] ? '' : (obj[cur.n] = true && prev.push(cur))
return prev
}, [])
console.log(gg)
},
2、map
dddd() {
const fff = [{ n: 1 }, { n: 2 }, { n: 2 }, { n: 1 }, { n: 3 }]
const dd = () => {
let map = new Map()
for (let item of fff) {
if (!map.has(item.n)) {
map.set(item.n, item)
}
}
return [...map.values()]
}
const gg = dd()
console.log(gg)
},
字符串转数组
var s='121,121,12121
cosnt array=s.split(',')