Heading for the future

# JS数组常用方法

• isArray()

• push()
• pop()
• shift()
• unshift()
• slice()
• splice()
• sort()
• reverse()

• indexOf()
• includes()

• toString()
• join()

• map()
• forEach()
• filter()
• find()
• findIndex()
• erery()
• some()
• reducw()
• reduceRight()

### isArray()

let arr = [1,2];
console.log(arr.isArray());

### push()

let arr = [1,2];
let returnValue = arr.push(3,4,5);
console.log(arr); // [1,2,3,4,5]
console.log(returnValue) // 5

### pop()

let arr = [1,2,3];
let del = arr.pop();
console.log(arr); // [1,2]
console.log(del); // 3

### unshift()

let arr = [1,2,3];
let returnValue = arr.unshift(4,5);
console.log(arr); // [4,5,1,2,3]
console.log(returnValue) // 5

### shift()

let arr = [1,2,3];
arr.unshift(4,5);

### concat()

let arr = [1,2];
let b = [3,4];
let result = arr.concat(b);
console.log(result) // [1,2,3,4];

### reverse()

let arr = [1,2,3,4];
arr.reverse();
console.log(a); // [4,3,2,1]

### sort()

let arr = [1,2,4,3];
// 升序
arr.sort((a,b)=>{
return a - b;
});
// 降序
arr.sort((a,b)=>{
return b - a;
})

### join()

let arr = [1,2,3,4];
let str = arr.join();
let str1 = arr.join('-');
console.log(str); // 1,2,3,4
console.log(str1); // 1-2-3-4

### toString()

let arr = [1, 2, 3, 4, 5];
let str = arr.toString()
console.log(str)// 1,2,3,4,5

### slice()

slice(start,end).从start开始，end之前结束，不到end。不改变原数组

let arr = ['项目一','项目二','项目三']
let arr = arr.slice(0,2);
console.log(a); // ["项目一","项目二","项目三"]
console.log(arr); // ["项目一","项目二"]

### splice()

splice(start, number, item, item) 从start开始删除number位，然后将后面对参数插入数组。返回删除元素组成对数组，会改变原数组

let arr = [1,2,3];
let result = arr.slice(1,0,33);
console.log(arr); // [1,2,33,3]
console.log(result); // []

### indexOf()

let arr = ['项目一','项目二','项目三'];
let result = arr.indexOf('项目二');
console.log(arr); // 1

### includes()

let arr = ['项目一','项目二','项目三'];
let result = arr.includes('项目一');
console.log(result) // true

### map

• 创建一个新数组，其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
• 不改变原数组
• 返回值是一个新的数组
let testArr = ['子项0','子项1','子项2'];
let resultArr = testArr.map((item, index) => {
});

### filter

• 对数组的每一项都进行过滤，返回符合条件的item组成的数组
• 不会改变原数组
let filterArr = ['子项0','子项1','子项2'];
let filterResult = filterArr.filter((item, index) => {
return item === '子项0';
});
console.log(filterArr); // ["子项0", "子项1", "子项2"]
console.log(filterResult);  ["子项0"]

### find

• 遍历数组，找到第一个符合条件的项，并返回该项。否则返回undefined
• 不会改变数组
let findArr = ['子项0','子项1','子项2']
let findResult = findArr.find((item, index) => {
return item === '子项0';
});
console.log(findResult);
// 结果为: 子项0

### findIndex

• 遍历数组找到第一个符合条件的项，并返回该项的索引值。否则返回-1。
• 不会改变数组对象。
let findIndexArr = ['子项0','子项1','子项2'];
let findIndexResult = findIndexArr.findIndex((item, index)=>{
return item === '子项0';
});
console.log(findIndexResult);
// 结果为： true

### every

• 对数组中的每一项运行给定函数，如果该函数对每一项返回true,则返回true。简单说就是看数组的每个元素是否符合要求，都符合则返回true，否则返回false
let everyArr = [2,3,4];
let everyResult = everyArr.every((item, index)=>{
return item > 0
});
console.log(everyResult);
// 结果为: true

### some

let someArr = [2,3,4];
let someResult = someArr.some((item, index)=>{
return item > 3
});
console.log(someResult);
// 结果为: true

### reduce

• 接收一个函数作为累加器（accumulator），数组中的每个值（从左到右）开始缩减，最终为一个值。
• 第二个参数作为第一次调用的a的值
// reducer
let reduceArr = [0,1,2,3,4]
let reduceResult = reduceArr.reduce((a, b)=>{
return a + b;
});
console.log(reduceResult);
// 结果: 10

### reduceRight

• 和reduce一样是累加器，不过是从右往左计算
• 第二个参数作为第一次调用的a的值
let reduceRightArr = [0,1,2,3,4]
let reduceRightResult = reduceRightArr.reduceRight((a, b)=>{
return a + b;
});
console.log(reduceRightResult);
// 结果: 10

posted @ 2020-09-03 23:38  一只菜鸟攻城狮啊  阅读(43)  评论(0编辑  收藏