1.arr.push(字符)
arr.push(字符) 往数组最后添加数据;返回数组的长度
参数
字符:随意数据,随意个数;
2. arr.unshift(字符)
arr.unshift(字符) 往数组最前添加;返回数组长度
参数
字符:随意数据,随意个数;
3.arr.pop()
arr.pop()删除数组最后一项;返回数组 删除的一项
4.arr.shift()
arr.shift() 删除数组最前面的一项; 返回数组 删除的一项
5.多功能api arr.splice
5.arr.splice(index,length[,info]) 多功能api;删除,替换,截取,添加
index 数字==>数组的下标
length 数字==> 截取长度
info 字符==> 任意字符,随意个数
返回值 是截取的数组数据
只写index参数,从index下标开始截取到最后
只写index,length,从index下标开始截取length个数据
只写index,length,info 可以组合成各种api功能
写length个数与info个一样 替换原数组功能
写length 0个数与随意个数 添加原数组功能,能指定任意位置
info个数大于length个数 替换与添加原数组功能
6.arr.reverse()
arr.reverse() 数组翻转;返回翻转后的数据
7.arr.sort()
arr.sort(函数) 数组排序方法; 从大道小,从小到大
参数
函数 ==> function(){} || ()=>{}
会接收形参参数,系统自传
return 形参1 -形参2 || 形参2 -形参1
Array ---Api
push unshift pop shift splice reverse sort 会改变原数组
<script>
let arr =["iu","lisa","夏栀","锦鲤","丫丫"];
//数组最后面添加
let newArr=arr.push("朱雀","丸子");
console.log(newArr,"newArr");
//数组最前添加
let newArr1=arr.unshift("朱雀");
console.log(newArr1,"newArr1");
//删除数组最后一项
let newArr2=arr.pop();
console.log(newArr2,"newArr2");
//删除数组最前一项
let newArr3 =arr.shift()
console.log(newArr3,"newArr3");
// splice() 多功能api;删除,替换,截取,添加
let oldArr =["篮球","足球","羽毛球","乒乓球","排球"];
let newOldArr=oldArr.slice(1,2,2,2,3)
console.log(newOldArr,"返回值newOldArr");
console.log(oldArr,"原数组oldArr");
// reverse() 数组翻转
let a=arr.reverse()
console.log(a,"a");
console.log(arr,"78arr");
// 排序数组 sort(函数) 数字从大到小 从小到大
let qwe=[11,22,33,12,69,23];
let newqwe = qwe.sort(function(qq,ww){ //形参参数,系统自传;
return ww -qq
})
console.log(newqwe);
console.log(qwe,"qwe");
console.log("--------------");
let qw1=[
{"name":"夏栀",age:18},
{"name":"iu",age:22},
{"name":"lisa",age:33},
{"name":"锦鲤",age:12},
{"name":"丫丫",age:23},
];
let newqwe1=qwe1.sort(function(qq,ww){ //形参参数,系统自传;
return ww.age - qq.age
})
console.log(newqwe1);
console.log(qwe1,"qwe1");
</script>
8.arr.concat(arr)
arr.concat(arr) 合并数组;返回新数组
参数
arr 数组,可以多个
..[] 能将数组中的每一项解构成独立的每一项 存在
9.arr.join(字符)
arr.join(字符) 数组转化成字符串;将数组中的,转化字符参数进行拼接;返回字符串
参数
字符==> 任意字符
10.arr.indexOf(字符)
arr.indexOf(字符)查找数组中数据位置,查找到返回下标;未查找到返回-1
参数
字符==> 数组中的数据
与字符串的indexOf一样
11.arr.includes(字符)
arr.includes(字符) 返回 布尔值
参数
字符 ==> 数组中的数据
//合并数组
let arr=["iu","lisa","夏栀","锦鲤","丫丫"];
let newArr =["篮球","足球","羽毛球","乒乓球","排球"];
let a =arr.concat(newArr)
let c=[...arr,...newArr]
// 数组转化成字符串
let d=arr.join("-")
//查找数据在数组中对应位置;
let add =arr.indexOf("lsa")
// 判断数组中是否存在该数据
let bol = arr.includes("lisa")
console.log(bol);
12.高级数组
进阶区
1.arr.forEach(函数)
arr.forEach(函数)自动循环数组;没有返回值
参数
函数 = function(){} || ()=>{}
系统自传参数,形参接收
第一个参数 数组的每一项
第二个参数 数组每一项的下标
第三个参数 数组本身
2.arr.map(函数)
arr.map(函数) 自动循环数组;
参数
函数= function(){} || ()={}
系统自传参数,形参接收
第一个参数 数组的每一项
第二个参数 数组每一项的下标
第三个参数 数组本身
有返回值;需要return配合;如果不需要return 返回;那就不要使用map函数,使用 forEach
3.arr.reduce
arr.reduce(函数,prev) 自动循环数组;计算数组的值
参数
函数 = function(){} || ()=>{}
系统自传参数,形参接收
第一个参数 第一次循环时是数组的第一项,后续循环reduce上一次计算的结果;需要return配合
第二个参数 是当前值
第三个参数 数组当前值对应的下标
第四个参数 数组本身
prev参数 是prev的第一个值
let arr=["iu","lisa","夏栀","锦鲤","丫丫"];
//根据数组长度进行循环处理对应代码数据
arr.forEach((item,index,newArr)=>{
// console.log("我要取"+ item)
})
//根据数组长度进行循环处理数组结构或数组内容;返回一个新的数组
let result =arr.map((item,index,newArr)=>{
// return "我要取" + item
})
console.log(result);
//用于计算数组的值;需要return配合;返回一个计算后的结果
//prev 第一次循环时是数组的第一项,后续循环是reduce上一次计算的结果;需要return配合
//next 是当前值
//index 当前值下标
// 传递参数 prev 第一次是传递的参数,不是数组的第一项
//有bug,不理解
let newArr =[1,2,3,4,5,6];
let aaa=newArr.reduce((prev,next,index,newArr)=>{
console.log(prev,next,index);
return prev+next
},10)
console.log(aaa);