数组sort
//这里边不是a减b的意思,
//b比a大,所以a-b 就是升序,写成b-a就是降序
arr.sort(
function(a,b){
return a-b;
}
)
//补充: 也可以跟距 a b 中的属性来排序
arr.sort(
function(a,b){
return a.attribute - b.attribute;
}
)
数组map
//数组中,map方法,指的是是数组的映射。(可以取特定的值)
//参数:回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身
var array = [{name:'张含韵',age:16},{name:'江一燕',age:17}]
let emails = array.map((item,index)=>{
return item.name
})
console.log(emails);
//打印["张含韵", "江一燕"]
数组findIndex
//1. 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。例子2就是一个很好的说明,即使后面的666和66大于50,但是它只找到99,就不会执行后面的循环了。
//2.如果没有符合条件的元素返回 -1
//例子1,
var arr = ['a','b','c','d'];
var flag = arr.findIndex(item => {
return item === 'c';
})
console.log(flag) // 得到: 2
//例子2:
var arr2 = [1,18,2,99,666,44,66];
var flag2 = arr2.findIndex(item => {
return item > 50;
});
console.log(flag2) // 得到: 3
Es6数组去重
方法一:[...new Set(test)]
var test = [1,1,2,3,4,5,6]
[...new Set(test)]
//打印[1,2,3,4,5,6]
方法二:Array.from()
const test = ['q', 'w', 'e', 'q', 'u', 'p']
Array.from(new Set(test))
// 打印 ['q', 'w', 'e', 'u', 'p']
方法三:
function unique(arr) {
const res = new Map();
return arr.filter((a) => !res.has(a) && res.set(a, 1))
}