//1.数组常用方法 遍历 合并去重 冒泡求和 隐射
let arr = [1, 23, 4, 5, 54, 5]
//遍历求和
var sum = 0
arr.forEach(function (val, idx) {
sum += val
})
console.log(sum);
for (var k of arr) {
console.log(k);
}
for (var k in arr) {
console.log(k);
}
//扁平化数组
let newArr = arr.flat(Infinity)
// let newArr= arr.flat(Infinity)
console.log(newArr);
function fn(arr) {
return arr.reduce((pre, cur) => {
if (Array.isArray(cur)) {
return [...pre, ...fn(cur)]
} else {
return [...pre, cur]
}
}, [])
}
arr.reduce((pre, cur) => {
if (Array.isArray(cur)) {
return [...pre, ...fn(cur)]
} else {
return [...pre, cur]
}
}, [])
// 合并
let arr1 = [1, 57, 6, 75, 4]
// let arr3 =[...arr,...arr1]
let arr3 = arr1.concat(arr)
console.log(arr3);
//去重
//1 利用indexof方法
let newArr1 = arr.reduce((pre, cur) => {
if (pre.indexOf(cur) == -1) {
pre.push(cur)
}
return pre
}, [])
console.log(newArr1);
//2 利用 incCludes方法
let newArr2 = arr.reduce((pre,cur)=>{
if(!pre.includes(cur)){ //判断 累加器里面有没有当前值
return [...pre,cur]
}
return pre
},[])
console.log(newArr2);
//3
let newArr3 = Array.from(new Set(arr))
console.log(newArr3);
//set是一种数据结构 他的成员值是唯一的 可以利用它的特性去数组去重
let setter = new Set(arr)
console.log(setter);
//3 函数封装
function dedupe(arr) {
// return [...new Set(arr)] 用扩展
return Array.from(new Set(arr)) //用 from()方法
}
dedupe(arr)
console.log(dedupe(arr));
//冒泡排序
arr.sort(function (a, b) {
// return a-b //从大到小
return b - a
})
console.log(arr);
//对象方法
let sex = '男'
let obj = {
name: "zs",
age: 10,
sex,
fn: function () {},
fn1: () => {},
fn2() {},
}
//1对象的合并
let obj1 = {
name: "sz"
}
let obj2 = {
age: 19
}
// Object.assign(obj1,obj2)
// Object.assign (obj1,obj2)
let obj3 = {
...obj,
...obj2
}
console.log(obj3);
//对象的遍历
for (let k in obj3) {
console.log(k);
}
//遍历k
let key = Object.keys(obj3)
console.log(key);
//遍历val
let val = Object.values(obj3)
console.log(val);
ES学习的数组对对方法和一些常见的功能实现
最新推荐文章于 2024-10-11 17:39:47 发布
这篇博客详细介绍了JavaScript中常见的数组操作,包括遍历、求和、扁平化、合并、去重和冒泡排序。此外,还展示了如何使用Set和reduce方法进行去重,以及如何通过对象属性进行数据处理,如对象合并、遍历和获取值。同时,文章涵盖了对象的合并、遍历及函数封装。
摘要由CSDN通过智能技术生成