目录
1.会改变原数组的方法(7种)
1.push()
2.pop()
3.unshift()
4.shift()
5.reverse()
6.sort()
7.splice()
2.不改变原数组的方法(13种,返回的新数组是从原数组浅拷贝来的)
1.concat()
2.join()
3.slice()
4.indexOf()
5.forEach()
6.map()
7.filter()
8.every()
9.some()
10.find()
11.findIndex()
12.includes()
13.reduce()
let arr = [10, 20, 30, 40];
let response = arr.push(20, 50);
console.log(arr);
console.log(response);
let arr = [10, 20, 30, 40];
let response = arr.pop();
console.log(arr);
console.log(response);
let arr = [1, 2, 3, 4];
let response = arr.unshift(0, 1, "123", true, { a: 100 });
console.log(arr);
console.log(response);
let arr = [1, 2, 3, 4];
let response = arr.shift();
console.log(arr);
console.log(response);
let arr = [1, 2, 3, 4];
let response = arr.reverse();
console.log(arr);
console.log(response);
let arr = [-1, 1, 5, 3, 4, 6, 2, 7];
//默认
let response = arr.sort();
console.log(arr);
console.log(response);
//从小到大排序
arr.sort((a, b) => {
return a - b;
});
console.log(arr);
//从大到小排序
arr.sort((a, b) => {
return b - a;
});
console.log(arr);
let arr = [-1, 1, 5, 3, 4, 6, 2, 7];
let response = arr.splice(2, 2);
console.log(arr);
console.log(response);
let arr2 = [-1, 1, 5, 3, 4, 6, 2, 7];
let response2 = arr2.splice(2, 0, 8);
console.log(arr2);
console.log(response2);
let arr = [1, 2, 3, 4, 5];
let arr2 = ["zs", "ls", "ww", 1, 2];
let res = arr.concat(arr2);
console.log(arr);
console.log(res);
let arr = [1, 2, 3, 4, 5];
let res = arr.join("--");
let res2 = arr.join();
console.log(arr);
console.log(res);
console.log(res2);
let arr = [1, 2, 3, 4, 5];
let res = arr.slice(1, 3);
console.log(arr);
console.log(res);
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(4);
let res2 = arr.indexOf(6);
console.log(arr);
console.log(res);
console.log(res2);
let arr = [1, 2, 3, 4, 5];
let res = arr.forEach((item, index) => {
console.log(item, "-", index);
});
console.log(arr);
console.log(res);
let arr = [1, 5, 3, 4, 6];
let res = arr.map((item, index) => {
let a = item + index;
return a;
});
console.log(arr);
console.log(res);
let arr = [1, 5, 3, 4, 6];
let res = arr.filter((item, index) => {
//第一种方式:
// if (item >= 4) {
// return true;
// }
//第二种方式:
return item >= 4;
//两种方式效果都一样
});
console.log(arr);
console.log(res);
let arr = [1, 2, 3, 4, 5];
let res = arr.every((item, index) => {
return item > 0;
});
console.log(arr);
console.log(res);
let res2 = arr.every((item, index) => {
return item > 3;
});
console.log(arr);
console.log(res2);
let arr = [1, 2, 3, 4, 5];
let res = arr.some((item, index) => {
return item > 2;
});
console.log(arr);
console.log(res);
let res2 = arr.some((item, index) => {
return item > 5;
});
console.log(arr);
console.log(res2);
let arr = [1, 2, 3, 4, 5];
let res = arr.find((item, index) => {
return item > 3;
});
console.log(arr);
console.log(res);
let res2 = arr.find((item, index) => {
return item > 5;
});
console.log(arr);
console.log(res2);
let arr = [1, 2, 3, 4, 5];
let res = arr.findIndex((item, index) => {
return item > 2;
});
console.log(arr);
console.log(res);
let res2 = arr.findIndex((item, index) => {
return item > 5;
});
console.log(arr);
console.log(res2);
let arr = [1, 2, 3, 4, "ab", "bd"];
console.log(arr.includes(2));
console.log(arr.includes(5));
console.log(arr.includes("ab"));
console.log(arr.includes("c"));
let arr = [1, 2, 3, 4, 5];
//不传第二个参数:pre的初始值是数组第一个元素,cur是第二个元素,index从1开始
let res = arr.reduce((pre, cur, index) => {
console.log(pre, cur, index);
return pre + cur;
});
console.log(res);
//传第二个参数:pre的初始值是传入的第二个参数,cur是第一个元素,index从0开始
let res2 = arr.reduce((pre, cur, index) => {
console.log(pre, cur, index);
return pre + cur;
}, -1);
console.log(res2);
//应用1
//计算数组中每个元素出现的次数
let arr2 = [1, "b", 1, "a", "b", 1, 2];
let num = arr2.reduce((pre, cur, index) => {
if (cur in pre) {
pre[cur]++;
} else {
pre[cur] = 1;
}
return pre;
}, {});
console.log(num);
//应用2
//对数组中对象里的属性进行累加
let arr3 = [
{
subject: "math",
score: 10,
},
{
subject: "chinese",
score: 20,
},
{
subject: "english",
score: 30,
},
];
let sum = arr3.reduce((pre, cur, index) => {
return pre + cur.score;
}, 0);
console.log(sum);
文章到这里就结束了,觉得有收获的可以点赞和收藏哦!也欢迎大家评论区留言。