数组的常用方法

1.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

将两个数组合并为一个新数组:

var arr = ['a', 'b', 'c'];
var arr1 = [1, 2, 3];

arr.concat(arr1);
// result in ['a', 'b', 'c', 1, 2, 3]

2.filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

callback 被调用时传入三个参数:

  1. 元素的值
  2. 元素的索引
  3. 被遍历的数组本身

返回值

一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组

数组的元素由原数组中值大于 10 的元素组成。

var arr = [12, 5, 8, 130, 44]
arr.filter(item =>{
  return item>=10
})
// [12, 130, 44]

3.find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

callback函数带有3个参数:当前元素的值、当前元素的索引,以及数组本身。

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

var arr=[1,2,3,4,5,6,7,8,9,10]
arr.find(item=>{
// find() 方法为数组中的每个元素都调用一次函数执行:
// 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
// 如果没有符合条件的元素返回 undefined
    return item>5
})

// 输出结果
6
注意: find() 对于空数组,函数是不会执行的。

注意: find() 并没有改变数组的原始值。

4.findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。

获取数组中年龄大于等于 18 的第一个元素索引位置

var ages = [3, 10, 18, 20];
 
const age = (arr) => arr >= 18;

const age2 = ages.findIndex(age);
console.log(age2)
//2

5.forEach()方法对数组的每个元素执行一次给定的函数。

const arr1 = ['a', 'b', 'c'];

arr1.forEach(arr => {
console.log(arr)
});

callback 函数传入三个参数:第一个必须写后面的可以省略

  1. 数组当前项的值
  2. 数组当前项的索引
  3. 数组对象本身

6.includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。

const arr = [1, 2, 3];

console.log(arr.includes(2));
//  true
console.log(arr.includes(10));
//false

7.indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];

console.log(beasts.indexOf('bison'));
// 结果: 1

8.join()方法将一个数组中的所有元素放一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符

const elements = ['H', 'e', 'l', 'l', 'o'];

console.log(elements.join());
//  "H,e,l,l,o"

console.log(elements.join(''));
//  "Hello"

console.log(elements.join('-'));
//  "H-e-l-l-o""

9.lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。

const animals = ['1', '3', '5', '1'];

console.log(animals.lastIndexOf('1'));
// expected output: 3

console.log(animals.lastIndexOf('5'));
// expected output: 2

10.map()方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

const arr = [1, 4, 9, 16];

const map1 = arr.map(x => x * 2);

console.log(map1);
// expected output: Array [2, 8, 18, 32]

11.pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

const arr = ['1', '3', '5', '7', '9'];

console.log(arr.pop());
// expected output: "9"

console.log(arr);
// expected output: Array ["1", "3", "5", "7"]

plants.pop();

console.log(arr);
// expected output: Array ["1", "3", "5"]

12.push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

const arr = ['1', '3', '5'];
arr.push('7', '9');
console.log(arr);
// expected output: Array ["1", "3", "5", "7", "9"]

13.reduce()方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回

reducer 函数接收4个参数:

  1. Accumulator (acc) (累计器)
  2. Current Value (cur) (当前值)
  3. Current Index (idx) (当前索引)
  4. Source Array (src) (源数组)

您的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。

const arr = [1, 2, 3, 4];
const reducer = (acc, cur) => acc + cur;

// 1 + 2 + 3 + 4
console.log(arr.reduce(reducer));
// expected output: 10

// 5 + 1 + 2 + 3 + 4
console.log(arr.reduce(reducer, 5));
// expected output: 15

14.shift()方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

const arr = [1, 2, 3];

const arr1 = arr.shift();

console.log(arr);
// expected output: Array [2, 3]

console.log(arr1);
// expected output: 1

15.unshift方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)

const arr = [1, 2, 3];

console.log(arr.unshift(4, 5));
// expected output: 5

console.log(arr);
// expected output: Array [4, 5, 1, 2, 3]

16.every()方法用来检测数组中所有的元素是否都满足条件,如果满足条件返回一个true,不满足条件的话返回false并且后面的元素不会再进行检测    

注意:1.every()不会对空数组进行检测,  2.不会改变原数组

function a(num) {
  return num >= 10;
}
[12, 54, 18, 130, 44].every(a)  //true
[12, 5, 18, 130, 44].every(a)   //false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值