数组常用方法及作用?

数组
在内存中开辟一个连续存储多个数据的存储空间,再起一个统一的名字 数组也是对象数据类型的,也是由键值对组成的有一个length属性存储的是数组长度

1.push():向数组末尾增加新内容,返回新增后数组的长度,原有数组改变 

var arr = [1,4,5,67,8];
// 添加一个
// 在最后添加一个数字5
arr.push(5);

//输出 新数组的长度6
console.log(arr.push(5));

// 添加多个
//在最后添加数字112 和 34,字符串'avf'
arr.push(112,34,'avf'); 

 2.pop():删除数组最后一项,返回被删除的那一项,原有数组改变

var arr = [1,4,5,90,8];
// 删除数组中最后一项
arr.pop();

// 输出被删的那个数据
console.log(arr.pop());

3.shift():删除数组第一项,返回删除的一项,原有数组改变

var arr = [1,4,5,90,8];
//删除数组中第一项
arr.shift();

// 输出被删除的那个数据
console.log(arr.shift());

4.unshift():向数组开始位置追加新内容,返回新增后数组的长度,原有数组改变

var arr = [1,4,5,90,8];
//在数组的起始位置添加一个数据
arr.unshift();

// 输出新数组的长度
console.log(arr.unshift());

5.splice():

1.splice(n,m)从索引 n 开始,删除 m 个把删除的部分以新数组返回,原有数组改变新增

var arr = [1,4,5,90,8];
//从下标为 0 开始删除 2 个数据
arr.splice(0,2);

// 输出被删除的数据组成的新数组
console.log(arr.splice());

 2.splice(n,0,x,···)从索引 n 开始删除 0项,把更多需要插入的内容存放到 n 前面,修改

var arr = [1,4,5,90,8];
//从下标为 0 开始添加 1 个数据
arr.splice(0,0,23);

// 输出被删除的数据组成的新数组
console.log(arr.splice());

3.splice(n,m,x)把原有内容删除掉,用新的内容替换删除的内容

var arr = [1,4,5,90,8];
//从下标为 0 开始删除 2 个数据,替换成 23
arr.splice(0,2,23);

// 输出被删除的数据组成的新数组
console.log(arr.splice());

6.slice():在一个数组中,按照条件查找出其中的部分内容,两个参数(n,m),从索引n处开始找到m处不包含m,返回以一个新数组存储查找的内容,原有数组不变 

 

var arr = [1,4,5,90,8];
//从下标为 0 开始截取,截取下标为 2 之前的数据 
arr.slice(0,2);

// 输出截取的数据组成的新数组
console.log(arr.slice());

7.concat():实现多个数组的拼接,返回新数组,原有数组不变

var arr = [1,4,5,90,8];
//将参数中的数据元素拆开,分别存入数组 arr 中
arr.concat([0,0,23]);

// 输出新数组 [1,2,4,90,8,0,0,23]
console.log(arr);

8.reverse():将数组元素颠倒顺序

var a1 =['A','a','b','E','P']
var temp = [11,14,15,16]
var a2 = al.sort()console.log(a2);
console.log(a1.reverse());//将a1数组中的元素顺序颠倒var newArr = al.concat(temp)console.log(newArr);

9.indexOf(元素):从左向右查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到

var arr = [12,25,33,12,89] 
var index1=arr.indexof(12)//从左往右查找返回找到的第一个元素的下标,第二个元素找不到   	console.log(index1);

10.lastindexOf(元素):从右往左查找元素的位置。返回元素在数组中的下标(索引)

var arr = [12,25,33,12,89] 
var lastIndex = arr.lastIndexof(12) 
console.log(lastIndex)

11.sort()排序函数,默认按升序(从小到大)排列

var arr = [45,32,78,56,22,'aaa']; 
var a1 =['A','a','b','E','p']
console.log(arr.sort());
console.log(a1.sort ());

12.join(连接字符):作用是将数组中的元素通过给定的连接字符连成一个字符串

var arr = [11,22,33,44,55] 
var s1=arr.join['-']//元素之间用'-'连接 
var s2 = arr. join()//默认情况(不带参数),元素之间用','连接

13.filter():可以实现对数组元素的"过滤",返回的元素构成一个新的数组

 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.filter(function (value, index) { //(元素,下标)
    return index % 3 == 0 //返回下标对三取余等于零的元素
 })
console.log(temp) //[1,4,7,10]

14.fill(值/变量):用给定的值或变量填充数组

var arr = new Array(5)
arr.fill(1)//数组的5个单元都是2
console.log(arr) //[2, 2, 2, 2, 
1
2
3

15.every(): 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回 true

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.every(function (value) {
    return value <= 10  //都小于等于10则返回true,否则返回false
})
console.log(temp) //true

16.includes() :判断一个数组中是否包含一个指定的值

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.includes(3)
var temp1 = arr.includes(3, 3)
console.log(temp) //true
console.log(temp1) //false

17.find() :判断一个数组中是否包含一个指定的值

const people = [
    {
        name: "Matt",
        age: 27
    },
    {
        name: "Nicholas",
        age: 29
    }
];
people.find((element, index, array) => element.age < 28) // // {name: "Matt", age: 27}

18.some():对数组每一项都运行传入的测试函数,如果至少有1个元素返回 true ,则这个方法返回 true

let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let someResult = numbers.some((item, index, array) => item > 2);
console.log(someResult) // true

19.forEach():对数组每一项都运行传入的函数,没有返回值

let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.forEach((item, index, array) => {
    // 执行某些操作
});

20.map():对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组

let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let mapResult = numbers.map((item, index, array) => item * 2);
console.log(mapResult) // 2,4,6,8,10,8,6,4,2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值