1 增
push();
unshift();
concat();
splice(index,0,...value) //从某个下标的前面增加
1-1 push 从后添加
// 1.可以添加一个值,可以添加多个值
// 2.不能拼接数组
var arr=[1,2,3,4];
// var b=[5,6,7];
arr.push(5);
console.log(arr);//1 2 3 4 5
1-2 unshift 从前添加
var arr=[1,2,3,4];
arr.unshift(0);
console.log(arr);//0,1,2,3,4
var a=[1,2,3];
var b=[4,5,6];
b.unshift(...a);//向前添加数组需要展开
console.log(b);//1,2,3,4,5,
// ...arr 可以将一个数组展开
var arr=[1,2,3];
console.log(arr);//1,2,3
console.log(...arr);//
var a=[1,2,3];
var b=[4,5,6];
a.push(...b);
console.log(a);//1,2,3,4,5,6
2 删
pop();
shift();
splice(index,howmany);
2-1 pop从后删除
var arr=[1,2,3,4];
arr.pop();//1,2,3
console.log(arr);
2-2 shift 从前删除
var arr=[1,2,3,4];
arr.shift();//2,3,4
console.log(arr);
2-3 splice(startIndex,长度) 定点删除
var arr = [1,2,3,4,5]
arr.splice(3,1)
console.log(arr); // [1,2,3,5]
3 改
3-1 splice(startIndex,长度,元素…) 修改 先删除后插入
splice(startindex,howmany,...value)
var arr=[1,2,3,4,5];
// arr[2]=7; 1,2,7,4,5
//splice (startindex,howmany,...value)
arr.splice(2,1,7,8);
console.log(arr);//1,2,7,8,4,5
4 查
4-1 arr[index] 查询对应下标的值
//arr[index] 查询对应下标的值
var arr=[1,2,3];
console.log(arr[0]); //1;
4-2 indexOf(value) 查询对应值的下标
var arr=[1,2,3,4];
console.log(arr.indexOf(1)); // 0
//如果没有对应的值,则返回-1
4-3 slice(start,end) 截取 (包含开始,不含结束)
// slice(startIndex,endIndex) 截取 包含开始不含结束
// slice(startIndex) 截取从startIndex开始到后面的所有值
var arr = [1,2,3,4]
console.log(arr.slice(1,3)); // [2,3]
console.log(arr.slice(1)); // [2,3,4]
4-4 includes(value) 判断数组是否包含某个值
// 返回boolean
var arr = [1,2,3,4]
console.log(arr.includes(5)); // false
jie
indexOf();
slice(startIndex,endIndex)
includes() //判断数组是否包含某个值
var arr=[1,2,3,4];
//slice(startIndex,endIndex)不包括最后一个
console.log(arr.indexOf(4));//3
console.log(arr.slice(1,3));//2,3
console.log(arr.slice(1));//2,3,4
5 join
var p=document.getElementById("p");
var arr=[1994,"html","css","js"];
var b=arr.join();
console.log(b);// 1994,html,css,js
var str=arr.join("/");
p.innerHTML=str;
console.log(str); // 1994/html/css/js
例子
var data={
country:"美国",
year:"1994",
story:"犯罪"
}
var arr=[]
for(var i in data){
arr.push(data[i])
}
var str=arr.join("/");
console.log(str); //美国/1994/犯罪
6 sort 升序降序
//升序
// arr.sort((a,b)=>{
// return a-b;
// })
var arr=[4,1,6,12,7,9];
var res=arr.sort((a,b)=>{
return b-a;
})
console.log(res); //[12, 9, 7, 6, 4, 1]
例子(年龄排序)
var students=[
{name:"zhang",age:19},
{name:"meng",age:21},
{name:"li",age:8},
{name:"liu",age:14},
]
var result=students.sort((a,b)=>{
return a["age"]-b["age"]
})
console.log(result)
例子(外卖)
<button id="like">like</button>
<button id="price">price </button>
<button id="distance">distance</button>
<script>
var like=document.getElementById("like");
var sales=[
{name:"zs",like:56,distance:90,price:75},
{name:"ls",like:89,distance:56,price:45},
{name:"ww",like:76,distance:50,price:65},
]
function addOrder(arr,value){
if(Array.isArray(arr)){
var res =arr.sort((a,b)=>{
return a[value]-b[value];
})
return res;
}else{
return null;
}
}
like.onclick=function(){
console.log(addOrder(sales,"like"))
}
price.onclick=function(){
console.log(addOrder(sales,"price"))
}
distance.onclick=function(){
console.log(addOrder(sales,"distance"))
}
7 reduce 求和
1. var arr=[1,2,3,4];
var sum =arr.reduce((a,b)=>{
return a+b;
})
console.log(sum);//10
console.log(arr); //1,2,3,4
2. var arr=[1,2,3,4];
var sum=0;
for(var i=0;i<arr.length;i++){
sum=sum+arr[i];
}
console.log(sum);
8 取最大值
var arr=[1,2,3];
console.log(Math.max(45,2,10));//45
console.log(Math.max(...arr));//3
for(var i=1;i<arr.length;i++){
if(maxNum<arr[i]){
maxNum=arr[i]
}
}
9 reverse 数组的反转
var arr=["html","css","js"];
console.log(arr.reverse());
10.数组去重
var arr=[1,2,3,2,4,8,6,4];
// arr=[1,2,3,4,6,8]
var res=[];
arr.forEach(item=>{
if(!res.includes(item)){
res.push(item);
}
})
console.log(res)
set方法
var arr=[1,2,3,2,4,8,6,4];
var s=new Set(arr);
console.log([...s])
将一个对象数组中的某个键添加到另一个数组中(按下标来) 根据某个定值来判断从那里截取(添加)
let flag = data.activities.length;
data.activities.forEach((item, index) => {
if (item.content == e.orderStateName) { //content定值
flag = index;
item.timestamp = res.data[index].flowLogTIme; //定值项添加键值
}
if (index < flag) {
item.timestamp = res.data[index].flowLogTIme); //小于定值的下标的添加
}
});