数组常用的方法汇总

数组常见方法汇总
1、数组的创建方法:
let F70=[ ]; 字面量声明 let F70=new array(); 构造函数声明
2、利用数组的索引/下标号来查找/使用数组中的元素。索引从0开始;
let F70=[5,8,7,6,2,4 ];
console.log(array[0]); 结果为5;
3、访问完整的数组
console.log(array); //结果为[5,8,7,6,2,4 ]
4、数组的类型
数组的类型是对象:object;
数组的属性和方法
5、length属性:返回数组的长度(数组元素的数目)
Let arr=[5,8,7,6,2,4 ];
console.log(arr.length) //结果为:6;
6、访问数组第一个元素
fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
let first = fruits[0]; //结果为Banana
7、访问数组的最后一个元素
fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
let last = fruits[fruits.length - 1];; //结果为Mango
8、遍历数组的元素(和下标)
for(let i=0; i<arr.length;i++) //方法一 遍历元素
for(let i=0; i<=arr.length-1;i++)//方法二 遍历元素
for(let item of arr) //方法三 遍历元素
for(let item in F70) //遍历数组中元素的下标
9、数组元素的增删改查
增加——在后面增加:
Array.push(要添加的元素);
Array[array.length]=要添加的元素。
增加——在前面增加:
Array.unshift(“1”,“2”,“3”);

删除——删除数组前面的一个值
Array.pop();
删除——删除数组后面的一个值
Array.shift();
10、数组转字符串 || 字符串转数组
数组转字符串方法一:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
let newstring= fruits.toString(); //字符串之间默认用逗号隔开。
数组转字符串方法二:
join() 方法也可将所有数组元素结合为一个字符串。它的行为类似 toString(),但是您还可以规定分隔符:
var fruits = [“Banana”, “Orange”,“Apple”, “Mango”];
let newstring= fruits.join(" * ");
字符串转数组的方法:
方法一:.split(“,”)使用split()方法,以逗号为分隔符,将字符串转为数组,并赋值给变量arr,
示例:var arr=str.split(’,’);
方法二:…三个点
Let str=“abcdefg”; var newArr=[…str]
11、数组元素的重新赋值
Let arr=[A,B,C,D,E];
Arr[0]=F; 则结果为[F,B,C,D,E]
12、批量获取数组中的元素
Arr.slice(X,Y);——不改变y原数组。
批量获取Arr数组中的内容,从脚标X开始,到脚标Y结束(不包含脚标Y)。并且
13、批量修改/插入元素【splice——会改变原数组】
Splice(x);
从这个参数的下标截取到最后一个值,存储为一个新数组返回。

数组的清空方法:
方法一:let F70=[“A”,“B”,“C”,“D”,“E”,“F”];
let F71=F70.splice(0);
方法二:F70.length=0;
方法三:F70=[];

Splice(X,Y);
第一个参数:起始下标;
第二个参数:截取个数;
Arr.splice(X,Y,Z);
从脚标X开始,截取Y个数,并且把Z及其以后的元素添加进去。
14、数组的拼接/合并
concat() 方法不会更改现有数组。它总是返回一个新数组。
var myGirls = [“Cecilie”, “Lone”];
var myBoys = [“Emil”, “Tobias”, “Linus”];
var myChildren = myGirls.concat(myBoys); // 连接 myGirls 和 myBoys
15、数组的排序
let f70=[1,25,14,13,26,87];

【arr.sort(function(a, b){return a - b});】
箭头函数写法:let arr1=f70.sort((a,b)=>a-b); //升序

【arr.sort(function(a, b){return b - a});】
箭头函数写法:let arr1=f70.sort((a,b)=>b-a); //降序

冒泡排序法
let arr=[1,15,24,7,4,6,55,40];
for(let i=1;i<arr.length;i++){ //控制比较次数
//由于每一次外层循环会把最大值放在数组最后一位,因此每一层内层循环都可以少比较,相应伦次减少
for(let j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
[arr[j],arr[j+1]]=[arr[j+1],arr[j]]
}
}
}

选择排序法:
let arr=[1,15,24,7,4,6,55,40];
for(let i=0;i<arr.length;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
[arr[i],arr[j]]=[arr[j],arr[i]]
}
}
}
16、以随机顺序排列数组
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return 0.5 - Math.random()});
17、查找数组中的最大/最小值
Math.max.apply([1, 2, 3]);
Math.min.apply([1, 2, 3]);
18、遍历数组中的每一个元素,是不是都满足需求,并且不改变原来的数组。返回结果为ture/false
let f70=[1,25,14,13,26,87];
let state=f70.every(a=>a%2=0);
console.log(state); // 结果为 false
19、遍历数组中的每一个元素,看有没有元素满足需求,并且不改变原来的数组。返回结果为ture/false
let f70=[1,25,14,13,26,87];
let state=f70.some(a=>a%2==0);
console.log(state); //结果为ture;
20、filter:返回满足条件的,并且不改变原来的数组
let f70=[1,25,14,13,26,87];
let state=f70.filter(a=>a>20);
console.log(state); // 结果为:[ 25, 26, 87 ];
21、查找两个数组的交集
let arr1=[1,2,3];
let arr2=[2,3,4];
// let intersect=arr1.filter(a=>arr2.includes(a));
// console.log(intersect); //[2,3]
22、查找两个数组的并集
let arr1=[1,2,3];
let arr2=[2,3,4];
let union=new Set([…arr1,…arr2]);
console.log([…union]);
23、查找两个数组的差集
let arr1=[1,2,3];
let arr2=[2,3,4];
let intersect=arr2.filter(a=>!arr1.includes(a));
console.log(intersect); //[4]
24、Map:遍历数组中的每一个数,并执行,并返回一个数组,并且不会改变原数组
let f70=[1,5,14,7,56];
let state=f70.map(a=>a-1);
console.log(state); //[ 0, 4, 13, 6, 55 ]
25、forEach遍历数组中的每一个值,执行了结果,但是没有返回值 ,不会改变原数组
let f70=[1,5,14,7,56];
console.log(f70.forEach(a=>a-1)); //underfind
26、在数组中搜索元素值并返回其脚标码。
indexOf(查找内容) 从前往后查找
查找内容存在,返回值所在的下标;反之,返回-1;一旦找到就不继续
lastIndexOf(查找内容)
从后往前查找

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值