一、求数组的最大值
1、ES6语法里的扩展运算
function getMax(arr) {
return Math.max(...arr)
}
2、通过sort()从小到大排序,加上ES6里at()获取最后一个值【也可以通过获取数组最后一个下标arr.lengt-1】
function getMax(arr) {
return arr.sort(function(a,b){a-b}).at(-1)
}
function getMax(arr) {
return arr.sort(function(a,b){a-b})[arr.length-1]
}
3、通过apply把数组变成有参序列
function getMax(arr) {
return Math.max.apply(null,arr)
}
4、使用ES6里的累加器
function getMax(arr) {
// max初始值为0
let max=arr.reduce((max,item)=>{
return item>max?item:max
})
return max
}
5、for循环求最大值
function getMax(arr) {
let max=arr[0]
for(let i=0;i<arr.length;i++)
{
max=arr[i]>max?arr[i]:max;
}
return max
}
二、求数组的最小值
1、ES6里的扩展运算
function getMin(arr) {
return Math.min(...arr)
}
2、通过sort()从小到大排序,也可以通过获取数组第一个下标
function getMin(arr) {
return arr.sort(function(a,b){a-b})[0]
}
3、通过apply把数组变成有参序列
function getMin(arr) {
return Math.min.apply(null,arr)
}
4、for循环求最小值
function getMax(arr) {
let min=arr[0]
for(let i=0;i<arr.length;i++)
{
min=arr[i]>min?min:arr[i];
}
return min
}
三、数组的去重处理
1、使用es6里set不能出现重复的特性+扩展运算符
function removeDuplicate(arr) {
return [...new Set(arr)]
}
2、使用es6里的set+Array.from()【把类似数组的对象转换为真正的数组】
function removeDuplicate(arr) {
return Array.from(new Set(arr))
}
3、利用splice()去重
function removeDuplicate(arr) {
for(let i=arr.length-2;i>0;i--){
for(let j=0;j<i;j++){
if (arr[j]==arr[i]) {
arr.splice(j,1)
}
}
}
return arr
}
四、获取数组中的奇偶数
let arr=[1,2,3,4]
let odd = arr.filter(x=>x%2===1)
console.log(odd);//Array [ 1, 3 ]
let even = arr.filter(x=>x%2===0)
console.log(even);//Array [ 2, 4 ]
五、遍历数组获取数组里对象中的某个键值
arr=[{text:1,value:2}...] 把每个对象里value值组合成数组。
let r=[]
for(let item of arr){
r.push(item.value)
}
六、遍历数组,在数组中的每一个对象里添加新的键值对isChecked:false
res.data.forEach(item=>{
item.isChecked=false
})